选中的复选框不会覆盖具有相同名称的隐藏输入

时间:2018-08-01 10:20:08

标签: php html checkbox

我有一个表格形式,其行可以动态生成。 每行都有两个文本输入和一个复选框。

还有一个与复选框同名的隐藏输入。

<tr>
    <td><input type="text" name="names[]" class="form-control" required="required"></td>
    <td><input type="number" name="rates[]" class="form-control" required="required"></td>
    <td><input class="simple" type="checkbox" name='disallow_flag[]' value='1'/><input type="hidden" name="disallow_flag[]" value="0"></td>
    <td></td>
</tr>

$("#add_row").click(function(e) 
{
    e.preventDefault();
    html    =
            '<tr><td><input class="form-control" name="names[]" type="text" required="required"></td>\n\
            <td><input class="form-control" name="rates[]" type="number" required="required"></td>\n\
            <td><input class="simple" type="checkbox" name="disallow_flag[]" value="1"/><input type="hidden" name="disallow_flag[]" value="0"></td>\n\
            <td><a href="#" class="item_remove"><i class="fa fa-trash-o"></i></a></td></tr>';
    $(".menu_update_table").append(html);
});

创建几行并选中几个复选框后,我得到以下输出:

'names' => array(3)
 "dfdf"
 "sdfds"
 "dsfds"
'rates' => array(3)
 "1"
 "2"
 "3"
'disallow_flag' => array(4)
 "0"
 "1"
 "0"
 "0"

请注意disallow_flag数组包含四个元素;因为我只选中了三个框中的一个。

预期输出:

'disallow_flag' => array(3)
 "0"
 "1"
 "0"

如果选中相应复选框,如何覆盖隐藏的复选框值?

0 个答案:

没有答案