【问题标题】:insert data checked in data table checkbox codeigniter插入在数据表中选中的数据复选框 codeigniter
【发布时间】:2017-06-03 17:27:33
【问题描述】:

我正在为我的学校科目做一个项目。我对如何检查复选框中的数据感到困惑,当我按下提交按钮时,它将循环插入到我的数据库中。我设法显示/提醒正在我的数据表中检查的数据。

这是我的控制器,用于填充我的数据表:

public function getalldocs() {
    $listdocs = $this->Admin_model->getdoctors();
    $data = array();
    foreach ($listdocs as $docs) {
        $row = array();  
        $row[] = $docs->user_fname;
        $row[] = $docs->user_mname;
        $row[] = $docs->user_lname;
        $row[] = '<input name="user_id[]" value="'.$docs->user_id.'" type="checkbox">';

        $data[] = $row;
    }
    $output = array(   
        "data" => $data,
    );
    echo json_encode($output);
}

在我看来:

<div class="dataTable_wrapper">
    <table id="dataTables-docs"  class="table table-striped table-bordered table-hover dataTable dtr-inline" role="grid" style="width: 100%;" width="100%" aria-describedby="dataTables-material">
        <thead>
            <tr>
                <th>First Name</th>
                <th>Middle Name</th>
                <th>Last Name</th>
                <th></th>
            </tr>
        </thead>
        <tbody></tbody>
    </table>
</div><!-- dataTable_wrapper -->

这是我的 javascript 从我的数据表中回显选定的复选框:

function show_docs() {
    $("#dataTables-docs").dataTable().fnDestroy();
    table =  $('#dataTables-docs').DataTable({
        "ajax": {
            "url": "<?php echo site_url('admin_controls/getalldocs')?>",
            "type": "POST",
        },
        responsive: true,
        className: 'select-checkbox',
        'bInfo': false,
        'paging': false
    });
}

$('#dataTables-docs tbody').on('click', 'input[type="checkbox"]', function(e){
    var user_id = $(this).val();
    alert(user_id);
});

现在,我希望将所有正在检查的内容插入到我的数据库中,如下所示: (myid,selectedfromcheckbox); 这是我从数据库表中截取的屏幕截图:

【问题讨论】:

    标签: php mysql codeigniter datatable datatables


    【解决方案1】:

    使用另一个ajax插入数据

    $('#dataTables-docs tbody').on('click', 'input[type="checkbox"]', function(e){
        var user_id = $(this).val();
        $.ajax({
              type:"post",
              data: {user_id:user_id},
             "url": "<?php echo site_url('admin_controls/saveData')?>",
              success:function(data){
                 $("#info").html(data);
              }
    
          });
    });
    

    // 下面的代码在你的控制器中

    public function saveData()
    {
    // code to save in controler
    }
    

    【讨论】:

    • 勾选后会调用该函数,所以不需要循环
    • 如果我取消选中会怎样?那么需要再次更新吗?如果取消选中,你能给我一些代码来提醒吗?
    • 你好..如果复选框被选中或未选中,我如何判断?
    猜你喜欢
    • 1970-01-01
    • 2019-05-22
    • 2017-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多