javascript - 如何在codeigniter中获取选中的复选框表行值

标签 javascript php jquery codeigniter-3

查看页面

<table>
<thead>
    <tr>
        <th><input type="checkbox" checked="checked" class="checkAll"  name="checkAll" /></th>
        <th>#</th>
        <th>Beneficiary Name</th>
        <th>Stipendiary Type</th>
        <th class="text-right box">Bonus ₹</th>
        <th class="text-right">Stipendiary ₹</th>
    </tr>
</thead>
<tbody>
    <tr>
        <td align="center">
            <input type="checkbox" checked="checked" class="chkclass " name="bene_id[]" value="1" /><input type="hidden" name="amount[]" value="500" tabindex ="-1" />
        </td>
        <td>1</td>
        <td>Jeinbai Nesamony</td>
        <td>Poor Pension</td>
        <td class="text-right box" id="hideshow">
            <input type="text" name="bonus[]" id="bonus" value="" class="tbl-input-cus bonus" tabindex ="1" />
        </td>
        <td class="text-right wagein">500.00</td>
    </tr>
    <tr>
        <td align="center">
            <input type="checkbox" checked="checked" class="chkclass " name="bene_id[]" value="2" /><input type="hidden" name="amount[]" value="400" tabindex ="-1" />
        </td>
        <td>2</td>
        <td>Chellammal Kochimoni</td>
        <td>Poor Aid</td>
        <td class="text-right box" id="hideshow">
            <input type="text" name="bonus[]" id="bonus" value="" class="tbl-input-cus bonus" tabindex ="1" />
        </td>
        <td class="text-right wagein">400.00</td>
    </tr>
    <tr>
        <td align="center">
            <input type="checkbox" checked="checked" class="chkclass " name="bene_id[]" value="3" /><input type="hidden" name="amount[]" value="400" tabindex ="-1" />
        </td>
        <td>3</td>
        <td>Thasammal Thangaiah</td>
        <td>Poor Aid</td>
        <td class="text-right box" id="hideshow">
            <input type="text" name="bonus[]" id="bonus" value="" class="tbl-input-cus bonus" tabindex ="1" />
        </td>
        <td class="text-right wagein">400.00</td>
    </tr>
    <tr>
        <td align="center">
            <input type="checkbox" checked="checked" class="chkclass " name="bene_id[]" value="4" /><input type="hidden" name="amount[]" value="400" tabindex ="-1" />
        </td>
        <td>4</td>
        <td>Roselet</td>
        <td>Poor Aid</td>
        <td class="text-right box" id="hideshow">
            <input type="text" name="bonus[]" id="bonus" value="" class="tbl-input-cus bonus" tabindex ="1" />
        </td>
        <td class="text-right wagein">400.00</td>
    </tr>
    <tr>
        <td align="center">
            <input type="checkbox" checked="checked" class="chkclass " name="bene_id[]" value="5" /><input type="hidden" name="amount[]" value="400" tabindex ="-1" />
        </td>
        <td>5</td>
        <td>Kamalam Chellam R.</td>
        <td>Poor Aid</td>
        <td class="text-right box" id="hideshow">
            <input type="text" name="bonus[]" id="bonus" value="" class="tbl-input-cus bonus" tabindex ="1" />
        </td>
        <td class="text-right wagein">400.00</td>
    </tr>
</tbody>

enter image description here

我的要求

我想将以下数据保存到表
1. bene_id
2. 奖金$
3. 津贴$

我已从现有受益人表中获取此表数据。因此 Bene_id 和 Stipendiary $ 值从该表中获取。奖金 $ 将作为输入。
现在我想将表数据保存到付款表中。
我正在尝试按数组发布值。工作正常。
现在我的复选框有问题。我想忽略未选中的行值。这意味着我想要复选框的行值:选中

我期待 jquery 传递复选框:检查行值到隐藏输入数组。

最佳答案

正如我在评论部分告诉你的,你可以使用普通的 HTML 表单提交到 Controller 上的操作方法,但你需要稍微修改你的表单,这是最简单的解决方案。

尽管选项一很简单,但我还是决定为您提供另一种方法来解决这个问题,所以首先看一下 HTML 和 JavaScript 的代码:

<table>
<thead>
   <tr>
     <th><input type="checkbox" checked="checked" class="checkAll"  name="checkAll" /></th>
     <th>#</th>
     <th>Beneficiary Name</th>
     <th>Stipendiary Type</th>
     <th class="text-right box">Bonus ₹</th>
     <th class="text-right">Stipendiary ₹</th>
   </tr>
</thead>
<tbody id="details">
  <tr>
    <td align="center">
        <input type="checkbox" checked="checked" class="chkclass " id="bene_id" value="1" />
    </td>
    <td>1</td>
    <td>Jeinbai Nesamony</td>
    <td>Poor Pension</td>
    <td class="text-right box" id="hideshow">
    <input type="text" name="bonus" id="bonus" value="" class="tbl-input-cus bonus" tabindex ="1" />
    </td>
    <td class="text-right wagein" id="amount">500.00</td>
</tr>
<tr>
    <td align="center">
        <input type="checkbox" checked="checked" class="chkclass " id="bene_id" value="2" />
    </td>
    <td>2</td>
    <td>Chellammal Kochimoni</td>
    <td>Poor Aid</td>
    <td class="text-right box" id="hideshow">
        <input type="text" name="bonus" id="bonus" value="" class="tbl-input-cus bonus" tabindex ="1" />
    </td>
    <td class="text-right wagein" id="amount" >400.00</td>
</tr>
<tr>
    <td align="center">
        <input type="checkbox" checked="checked" class="chkclass " id="bene_id" value="3" />
    </td>
    <td>3</td>
    <td>Thasammal Thangaiah</td>
    <td>Poor Aid</td>
    <td class="text-right box" id="hideshow">
        <input type="text" name="bonus" id="bonus" value="" class="tbl-input-cus bonus" tabindex ="1" />
    </td>
    <td class="text-right wagein" id="amount" >400.00</td>
</tr>
<tr>
    <td align="center">
        <input type="checkbox" checked="checked" class="chkclass " id="bene_id" value="4" />
    </td>
    <td>4</td>
    <td>Roselet</td>
    <td>Poor Aid</td>
    <td class="text-right box" id="hideshow">
        <input type="text" name="bonus" id="bonus" value="" class="tbl-input-cus bonus" tabindex ="1" />
    </td>
    <td class="text-right wagein" id="amount">400.00</td>
</tr>
<tr>
    <td align="center">
        <input type="checkbox" checked="checked" class="chkclass " id="bene_id" value="5" />
    </td>
    <td>5</td>
    <td>Kamalam Chellam R.</td>
    <td>Poor Aid</td>
    <td class="text-right box" id="hideshow">
        <input type="text" id="bonus" value="" class="tbl-input-cus bonus" tabindex ="1" />
    </td>
    <td class="text-right wagein" id="amount">400.00</td>
</tr>
</tbody>
</table>

<button id="submit">Submit</button>

<script type="text/javascript" src="<?= base_url(assets/js/jquery.min.js) ?>"></script>
<script type="text/javascript">
  function jsonify(){

    var rows = $('#details tr');
    var a = [];
    rows.each(function(){

        if($(this).find('#bene_id').is(':checked'))
        {
           var bene_id       = $(this).find('#bene_id').val();
           var stipendiary   = $(this).find('#amount').html();
           var bonus         = $(this).find('#bonus').val();

           var x = {
                bene_id:bene_id,
                stipendiary:stipendiary,
                bonus:bonus
            };
            a.push(x);
        }
    });
    var c = JSON.stringify(a);
    return c;
}

 $(function(){

   $('#submit').click(function(){
       $data = jsonify();

       $.ajax({
          type:'POST',
          url:'<?= base_url('controller/method_name') ?>',
          data:{details:data},
          success:function(response)
          {
            //if you data save successfuly, do sth here..
          }
       });
    });

 });

下面的代码是指定 Controller 上的action方法的PHP代码:

   public function method_name()
   {
         $details  = json_decode($this->input->post('details'));

         foreach($details as $det ){

            $bene_id     = $det->bene_id;
            $stipendiary = $det->stipendiary;
            $bonus       = $det->bonus;

            // your logic goes here
         }
   }

在此解决方案中,我没有考虑验证和安全问题,因为我想让它变得简单,所以在将其放入生产服务器之前,您必须处理这些问题。

希望对您有所帮助。

关于javascript - 如何在codeigniter中获取选中的复选框表行值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61526076/

相关文章:

javascript - 用于文本区域和自由文本的 Facebook jQuery 自动完成插件

javascript - 用于查询更新的 Firestore 文档 ID

javascript - 使用 gulp-useref 如何添加额外文件?

Javascript - 图表库

javascript - 下载从 onClick 方法返回的文件

javascript - jquery 选择 div 内的测试输入

php - Q : I need idea to display a string with css, jquery 或任何其他技术(无 php)

php - wordpress中不同帖子的背景颜色\

PHP AJAX Comet 与 MySQL 选择记录

php - PHP 的特征——任何现实世界的例子/最佳实践?