如何设置具有多个数据阵列的复选框

时间:2013-01-11 15:17:25

标签: php javascript jquery html

我有以下问题。 我有多个复选框,我想填写。我从表单中选择了一个数组,但我不知道如何检查哪个复选框是正确的。

对于我的输入,使用类似于此的东西:

<input type="checkbox" id="zutaten" name="zutaten[]" value="a" >
<input type="checkbox" id="zutaten" name="zutaten[]" value="b" >
<input type="checkbox" id="zutaten" name="zutaten[]" value="c" >
<input type="checkbox" id="zutaten" name="zutaten[]" value="d" >

所以我得到一个'zutaten'数组,但是这个数组不是关联的,所以我不确切地知道检查了哪个复选框。我该怎么解决这个问题?

我可以使用PHP或Javascript / jQuery

2 个答案:

答案 0 :(得分:2)

所以你有一个包含$_POST响应的数组,为方便起见,我们说$zutaten=$_POST['zutaten']

对所有4个条目执行以下操作。如果您在数组中有可能的值,则可以动态地执行此操作,如果您需要帮助,请告诉我。

<input type="checkbox" <?php if (in_array('b', $zutaten)) echo 'checked="checked"'; ?> id="zutaten" name="zutaten[]" value="b" >

编辑:不要忘记仅在$zutaten中保留已检查的值。如果你有一个阵列。您可以执行以下操作:

$values = array('a', 'b', 'c', 'd');
foreach ($values as $val) {
    <input name="zutaten[]" value="<?php echo $val; ?>" type="checkbox" <?php if (in_array($val, $zutaten)) echo 'checked="checked"'; ?> 
}

答案 1 :(得分:0)

这样做:

<input type="checkbox" id="zutaten" name="zutaten[0]" value="a" >
<input type="checkbox" id="zutaten" name="zutaten[1]" value="b" >
<input type="checkbox" id="zutaten" name="zutaten[2]" value="c" >
<input type="checkbox" id="zutaten" name="zutaten[3]" value="d" >

然后你会看到数组中的数字0-3来决定检查哪一个。