数据表与复选框切换

时间:2015-12-21 14:29:05

标签: jquery datatables

我正在努力使用一个功能,我想用一个带有jQuery的复选框打开/关闭数据表。

如果我没有定义数据表,它实际上有效,然后我没有问题地打开/关闭它。

但是我想默认情况下数据表是打开的,然后才能将其关闭并重新打开。我正在重新初始化警告。

我有这样的事情:

$('#datatable-switch').on('click',function(){

  if($(this).attr('data-click-state') == 0) {

    $(this).attr('data-click-state', 1);
    showLockersDataTable();

  } else {

    $(this).attr('data-click-state', 0)
    lockersTable.DataTable().destroy();
  }

});

1 个答案:

答案 0 :(得分:1)

这真的好像没什么问题。你可能用你的

弄乱了一些东西
showLockersDataTable();

lockersTable.DataTable().destroy();

我无法分析,因为您既没有提供showLockersDataTable()也没有lockersTable

但你必须像这样解决它:

// Get the jQuery Object for your DataTable
var example =  $('#example');

// Bind listener on the checkbox 
$('#datatable-switch').on('click',function(){

if($(this).attr('data-click-state') == 0) {

      $(this).attr('data-click-state', 1);
      showDataTable(example);

    }
    else {

      $(this).attr('data-click-state', 0)
      hideDataTable(example);
    }
});

其中两个使用的函数是:

// Declare show and hide functions
function showDataTable(dataTable){

  dataTable.DataTable();

}

function hideDataTable(dataTable){

  dataTable.DataTable().destroy();

}

现在click上的侦听器已绑定,您可以在页面加载时启动。

showDataTable();

这里是JSFiddle的working example