我有一个如下的复选框,
<tr>
<td>
<input type="checkbox" checked="checked" name="feegroupid[]" class="fee_checkbox" value="<?php echo $fee_value->fee_groups_feetype_id ?>">
</td>
<td>
<input type="text" name="actual_pay[]" class="form-control modal_amount actual_pay" id="amount" value="<?php echo $feetype_balance; ?>">
</td>
</tr>
如果选中复选框行,我的PHP函数
foreach($_POST['feegroupid'] as $index => $selected) {
echo $index;
$actualPayment = $_POST['actual_pay'][$index];
}
我有两行复选框,
如果我选择第二行(其索引为1),echo $index
仅显示第一行索引0
。
但两者都被选中(ie.checked),它分别显示两个索引为0,1
..但是当我们取消选中一个复选框(比如说第一行索引0
未选中)时,它显示{仅{1}}已检查索引为0
。
我需要根据选中的框索引获取名为1
的另一个输入框的值。
如何在更改复选框时获取相应的复选框索引而不是第一行索引?
附加图片有一个按钮点击付费,应该发送复选框索引(即选中第二个框并且其索引为actual_pay[]
)。
答案 0 :(得分:1)
这样的事情应该有效:
<tr>
<td>
<input type="checkbox" checked="checked" name="feegroupid[]" class="fee_checkbox" value="<?php echo $fee_value->fee_groups_feetype_id; ?>">
</td>
<td>
<input type="text" name="ap_<?php echo $fee_value->fee_groups_feetype_id; ?>" class="form-control modal_amount actual_pay" id="amount" value="<?php echo $feetype_balance; ?>">
</td>
</tr>
PHP:
if (isset($_POST['feegroupid'])) {
foreach ($_POST['feegroupid'] as $k => $v) {
if (isset($_POST['ap_' . $v])) {
echo $_POST['ap_' . $v]; //$actualPayment
} else {
echo 'Not found for item: ap_' . $v;
}
}
}