动态复选框和选择框

时间:2013-06-30 15:43:52

标签: php html checkbox

我知道如何通过

创建动态复选框
foreach($data as $row){ 
echo"<input type=\"checkbox\" name=\"auswahl[]\" value='$row[0]'> Type: $row[1]"; }

但是我想在每个复选框中添加一个选择框(对于每个复选框都是相同的选择框)。我的问题是,我怎样才能实现这一点,以便我后来知道哪个选择框对应哪个复选框?

1 个答案:

答案 0 :(得分:0)

要发送数据数组,请将[]添加到输入名称。因为复选框并不总是发送(感谢Marcin!)所有你需要做的就是为这个数组设置一个键:

<input type="checkbox" name="auswahl[0]" />
<select name="auswahl_select[0]">...</select>

<input type="checkbox" name="auswahl[1]" />
<select name="auswahl_select[1]">...</select>

<input type="checkbox" name="auswahl[2]" />
<select name="auswahl_select[2]">...</select>

提交后,您有:

Array
(
    [auswahl] => Array
    (
        [0] => 123,
        [1] => 456,
        [2] => 789,
    ),
    [auswahl_select] => Array
    (
        [0] => 123,
        [1] => 456,
        [2] => 789,
    )   

auswahl中[0]的关键字和auswahl_select中[0]的关键字是相关字段。

如果需要,还可以专门指定数组键,如下所示:

<?php foreach ($data as $row) : ?>
    <input type="checkbox" name="auswahl[<?php echo $row['id'] ?>]" />
    <select name="auswahl_select[<?php echo $row['id'] ?>]">...</select>
<?php endforeach; ?>

或像这样增加

<?php $i = 0 ?>
<?php foreach ($data as $row) : ?>
    <input type="checkbox" name="auswahl[<?php echo $i ?>]" />
    <select name="auswahl_select[<?php echo $i++ ?>]">...</select>
<?php endforeach; ?>