【问题标题】:How to get selected checkbox index in php如何在php中获取选中的复选框索引
【发布时间】:2018-08-14 23:38:39
【问题描述】:

我有一个复选框如下,

<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。 但是两者都被选中(即选中),它分别将两个索引显示为0,1。但是当我们取消选中一个复选框时(比如索引0的第一行未选中),它只显示0,但是检查索引是1

我需要根据复选框索引获取另一个名称为actual_pay[]的输入框的值..

更改复选框时如何获取相应的复选框索引而不是第一行索引?

附加的图片有一个按钮点击支付应该发送复选框索引(即第二个框被选中,它的索引是1)。

【问题讨论】:

  • 复选框只有在被选中时才会从浏览器发送到 PHP
  • 如何获取该复选框的索引?因为我需要根据复选框索引获取另一个类的值。
  • 看值而不是索引
  • 使用$selected 而不是$index
  • 显示错误undefined offset..

标签: php codeigniter checkbox foreach


【解决方案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;
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-11
    相关资源
    最近更新 更多