我有一个javascript,可以创建两种类型的元素。 在提交表单时添加了PHP代码,但我在上面显示了它。
第一种类型如下:
<tr class="disc">
<span><?php echo $disc_number ?></span>.
</tr>
第二种类型如下:
<tr class="track">
<input name="trackNumbers[]" value="<?php echo $track_number ?>" />
<input name="discNumbers[]" value="<?php echo $disc_number ?>" />
</tr>
“track”元素对于一个“disc”元素可以是多个。
例如:
<tr class="disc">
<span>1</span>.
</tr>
<tr class="track">
<input name="trackNumbers[]" value="1" />
<input name="discNumbers[]" value="1" />
</tr>
<tr class="track">
<input name="trackNumbers[]" value="2" />
<input name="discNumbers[]" value="1" />
</tr>
<tr class="disc">
<span>2</span>.
</tr>
<tr class="track">
<input name="trackNumbers[]" value="1" />
<input name="discNumbers[]" value="2" />
</tr>
<tr class="track">
<input name="trackNumbers[]" value="2" />
<input name="discNumbers[]" value="2" />
</tr>
要在提交每个“track”元素时显示我正在使用“for”命令。
for ($track_i = 0; $track_i < $total_tracks; $track_i++)
但是“光盘”元素呢?如何使我的“光盘”元素也在提交时显示,并在它们后面加上“跟踪”元素。
答案 0 :(得分:1)
如果我正确理解你的意思,你需要将轨道元素与光盘编号相关联......所以使用多维数组:
<tr class="track">
<input name="trackNumbers[<?php echo $disc_number ?>][]" value="<?php echo $track_number ?>" />
</tr>
如果我没记错的话,这将产生(在提交时为PHP)数组数组,其中每个第一级数组(每个光盘一个)包含一个轨道数组(每个轨道一个)。
foreach($_POST['trackNumbers'] as $discNumber => $tracksArray) {
...
答案 1 :(得分:1)
你现在设置它的方式是你有两个独立的数组轨道和光盘,以获得与正确的光盘相关的轨道号我将设置输入元素如下:
<input name="trackNumbers[1][]" value="2">
如果1是光盘编号,您可能需要传入一次光盘编号,然后在后端使用它们来循环并拉出与光盘编号对应的所有曲目。