如果未选择单选按钮选项,如何发布单选按钮值false / 0&如果以数组的形式选择值,则设置为true / 1?

时间:2017-09-27 13:29:21

标签: php

我需要一个无线电类型输入字段数组,如果未选择选项,则数组包含索引值0&如果选择该选项,则为1。

这是表格

enter image description here

这是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

        )

1 个答案:

答案 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