我尝试将带有文本字段的复选框值组合成一个变量,以便在我回显它时它显示正确的字段值。
我想将复选框的帖子与数量文本字段的帖子结合起来,因为我正在使用 forloop 的几个项目,但似乎无法将两个值合并为一个,以便它创建一个新的表行,该项目名称在左侧,数量在右侧。
<tr>
<td>
<input type="checkbox" name="check[]" value="<?php echo get_post_meta($post->ID, '_stitle', true); ?>" />
</td>
<td>
<input id="quantity" name="check[quantity]" type="text" maxlength="3" /><br />
</td>
$data = $_POST['check'];
foreach ($data as $value) {
$item .= '<tr style="background: #eee;">
<td>Item: </td>
<td>'.$value.'</td>
</tr>';
}
您可能应该更改:
<input id="quantity" name="check[quantity]" type="text" maxlength="3" /><br />
自:
<input id="quantity" name="check[quantity][]" type="text" maxlength="3" /><br />
您可以标量复选框,但不标量文本字段。
此外,将两个字段与 for 相关联可能会更简单,因为每个复选框和输入字段之间的数组键是相同的。
例:
for($i=0;$i<=sizeof($_POST['check'])-2;$i++){
$item .= '<tr style="background: #eee;">
<td>Item: '.$_POST['check'][$i].'</td>
<td>'.$_POST['check']['quantity'][$i].'</td>
</tr>';
}
另外,请注意大小为 $_POST 的 -2。您必须减去数量键和偏移量,才能将终点设置为等于该值,因为您是从 0 开始计数的。