我正在努力使用一个功能,我想用一个带有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();
}
});
答案 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。