我在codeigniter中有一个代码,我正在使用数据表,现在我想制作一个显示/隐藏列,上面有一个复选框,让列隐藏或显示。我将使用以下代码从我的控制器中的数据库填充我的数据:
public function dataTable_report($date) {
$user = array('user_id' => $this->session->userdata['logged_in']['user_id']);
$myreport = $this->Adminreport_model->getreportDataDaily($user,$date);
$data = array();
foreach ($myreport as $patient) {
$row = array();
$row[] = $patient->check_up_id;
$row[] = $patient->patient_fname;
$row[] = $patient->patient_lname;
$row[] = $patient->patient_mname;
$row[] = $patient->check_up_date;
$row[] = $patient->clinic_name;
$row[] = $patient->bill_amt;
$data[] = $row;
}
$output = array(
"data" => $data,
);
echo json_encode($output);
}
现在这里是我的数据表,当我选中上面的复选框时,我无法隐藏,请帮助我: https://jsfiddle.net/2j6w9hqt/27/
答案 0 :(得分:2)
我不建议只隐藏th
元素来操纵列可见性。
而是使用Buttons extension和colvis
按钮。
$('#example').DataTable( {
dom: 'Bfrtip',
buttons: [
{
extend: 'colvis',
columns: ':not(:first-child)'
}
]
} );
请参阅this example以获取代码和演示。
我还通过添加复选框修改了列可见性按钮的默认外观,有关详细信息,请参阅this answer。