通过复选框codeigniter从数据表中获取值

时间:2017-01-19 02:09:56

标签: php mysql codeigniter datatable datatables

我在学校的项目工作。如何在数据表中获取所选复选框的值。我正在使用codeigniter框架,我在控制器中填充我的数据表并将其传递给视图。现在我想要一些警告/输出已检查数据表的user_id。我真正想要的是将已检查的user_id的值保存在我的数据库表中。

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

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);
}

在我看来,这是数据表的ajax:

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
    });
}

$(document).ready(function() {
    $('#dataTables-docs').dataTable();
    show_docs();
});

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码从row表中获取数据:

$('#dataTables-docs tbody').on('click', 'input[type="checkbox"]', function(e){

  var row = $(this).closest('tr');
  var data = table.row(row).data();
  var rowData = data[1];

  alert(rowData);

});

返回复选框中所选行的数据,如果要获取复选框(user_id)的值,则可以使用此代码:

$('#dataTables-docs tbody').on('click', 'input[type="checkbox"]', function(e){

  var user_id = $(this).val();
  alert(user_id);

});

结果: https://jsfiddle.net/cmedina/7kfmyw6x/130/