我有一个带有单选按钮的动态表格,可以在每行中选择通过或失败。以下是我的代码:
<form name="form2" method="post" action="/admin/testresults/update/added">
<?php if(isset($rows)){ $i=1; $pass=$ fail='' ; foreach ($rows as $row) { (($row->result == 1) ? $pass='checked' : $fail='checked'); print "
<tr>
<td>".$i."</td>
<td>".$row->name." ".$row->last_name."</td>
<td>
<input type='radio' name='".$row->userId."' value='1' ".$pass.">Pass
<br/>
<input type='radio' name='".$row->userId."' value='0' ".$fail.">Fail
<input type='hidden' name='".$row->userId."' value='".$row->userId."' </td>
</tr>
"; $i++; } print "
<tr>
<td colspan='3'>
<input class='ember-view btn btn-danger' type='submit' />
</td>
</tr>"; } ?>
</form>
我在控制器中使用以下代码:
$inputs = Input::get();
foreach($inputs as $input){
TestResults::updateCandidate($input);
}
我想传递给updateCandidate()的是学生ID和所选的单选按钮值(1/0)。我怎么能这样做?
由于
答案 0 :(得分:3)
首先,我同意@Chelius的评论,查看laravel关于刀片模板和@if / @foreach的文档以及{{Form :: input}}的使用。
然而,在回答您的问题时 - 您需要更好地命名输入以检索用户ID,而详细的PHP版本最终应如下所示:
<td>
<input type='radio' name='results[".$row->userId."]' value='1' ".$pass.">Pass
<br/>
<input type='radio' name='results[".$row->userId."]' value='0' ".$fail.">Fail
<input type='hidden' name='".$row->userId."' value='".$row->userId."'
</td>
处理时,您的代码应为:
$inputs = Input::get();
foreach($inputs['results'] as $userId => $result){
TestResults::updateCandidate($userId, $result);
}
请注意,您可能需要更新&#34; updateCandidate&#34;函数接受用户ID和结果。