3

我知道如何创建动态复选框

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

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

4

1 回答 1

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]的key和auswahl_select中[0]的key是相关字段。

如果您愿意,还可以像这样专门指定数组键:

<?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; ?>
于 2013-06-30T18:14:04.883 回答