【发布时间】:2016-10-17 04:01:32
【问题描述】:
我正在使用带有 JQuery 的 DataTables 在我的网站上显示一些数据。我使用搜索功能来过滤数据,并给我预期的结果。我想做的是隐藏表格,直到用户开始在框中输入搜索,然后才显示正确的结果。这是我现在的 DataTables 代码:
function renderTable() {
jQuery('.dataTable').show();
jQuery('.dataTables_info').show();
jQuery('.dataTables_paginate').show();
}
function hideTable() {
jQuery('.dataTable').hide();
jQuery('.dataTables_info').hide();
jQuery('.dataTables_paginate').hide();
}
jQuery('.dataTables_filter input').keypress(function() {
if (jQuery('.dataTables_filter input').val() != '') {
renderTable();
} else {
hideTable();
}
});
jQuery(document).ready(function() {
jQuery('#resultsTable').DataTable({
"paging": true,
"pageLength": 25,
"lengthChange": false,
"pagingStyle": "simple_numbers",
"language": {
"search": "",
"searchPlaceholder": "Search for an entry"
},
"order": [1, 'asc']
});
hideTable();
} );
它成功地隐藏了 DataTable 中的所有内容,但 document.ready 上的搜索框除外,但是当用户单击框并键入时,我无法让它调用我的 renderTables() 函数。我不确定我是否正确定位它:'.dataTables_filter input'。 DataTables 呈现的搜索输入没有我可以定位的任何唯一 ID,因此我必须从包含它的过滤器元素中引用它。
【问题讨论】:
标签: javascript jquery datatable