我需要一个无线电类型输入字段数组,如果未选择选项,则数组包含索引值0&如果选择该选项,则为1。
这是表格
这是HTML代码
<div class='input-group'>
<input type="radio" name='correctOption[]'>
<span class="input-group-addon"><i class="fa fa-pencil"></i></span>
{!! Form::text('optionText[]', '', array('class' => 'form-control','id' => 'optionText1')) !!}
</div>
我得到像这样的数组表单值
[correctOption] =&gt;排列 ( [0] =&gt;上 )
但我想这样
[correctOption] => Array
(
[0] => 0,
[1] => 0,
[2] => 1,
[3] => 0,
[4]=>0
)
答案 0 :(得分:0)
因为单选按钮只会为您提供所选输入所关联的单个值,所以您应该将name
的{{1}}属性更改为除数组之外的其他内容。
input
确保它确实有一个值,以便你可以通过它的值来识别它 - 否则你将无法知道哪一个被检查了,因为你将得到的是<input type="radio" name="correctOption" value="1">
- 所以每个输入应该有不同的价值,即
correctOption=on
正如我所看到的,每个单选按钮都有相应的文本输入。这些输入中的每一个都应该具有相应单选按钮的id作为它们绑定到的数组的键:
<input type="radio" name="correctOption" value="1">
<input type="radio" name="correctOption" value="2">
<input type="radio" name="correctOption" value="3">
您可以通过获取所选的无线电值和所有文本输入来处理请求 - 您的请求数据将类似于:
<input type="radio" name="correctOption" value="1">
{!! Form::text('optionText[1]', '', array('class' => 'form-control','id' => 'optionText1')) !!}
<input type="radio" name="correctOption" value="2">
{!! Form::text('optionText[2]', '', array('class' => 'form-control','id' => 'optionText2')) !!}
使用此请求,您可以知道选择了哪个选项以及其他文本输入包含哪些内容。
由于每个文本输入都有关联的单选按钮,因此您可以遍历[
'correctOption' => 1,
'optionText' => [
1 => 'Content of text input 1',
2 => 'Content of text input 2',
3 => 'Content of text input 3',
]
]
列表并生成optionText
数组 - 我会使用correctOptions
包及其illuminate/support
,这会使这个任务非常简单 - 有点像:
Collection