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] のキーと 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; ?>
于 2013-06-30T18:14:04.883 に答える