我正在一个Web项目中工作,在该项目中使用JQuery Datatables,我面临的唯一挑战是如何获取或访问数据表的属性和线索,例如:搜索值,顺序,限制,...使用JavaScript和JQuery。 预先感谢。
我使用过的一些代码:
function loadDestroyedGoods() {
var start_date = $("#start_date").val();
var end_date = $("#end_date").val();
if (start_date && end_date) {
var dataTable = $('.g_tbl').DataTable({
"processing": true,
"serverSide": true,
"destroy": true,
"lengthChange": true,
"lengthMenu": [20, 50, 100, 500, 1000],
"pageLength": 10,
"ajax": {
"url": "/loadGoodsDestroyed",
"type": "POST",
"dataType": "json",
"dataSrc": "data",
"data": {start_date: start_date, end_date: end_date}
},
"columns": [
{"data": "name"},
{"data": "status"},
{"data": "count"},
{"data": "price"},
{"data": "consumer"},
{"data": "date"}
]
});
}
}
这就是我想要的:
我想要的是如何获取数据表的属性,而不是如何将自定义数据加载到其中。我在这里不需要服务器端的参与,我想要的只是如何获取用户为搜索输入的值,用户用来对行进行排序的顺序
答案 0 :(得分:0)
您可以将以下行添加到JavaScript中以提取全局搜索过滤器值。 (如果您使用的是链接的同一表,则不更改表的任何ID)。
这是该页面上搜索字段的代码:
下面的查询在您的页面中查找example filter
id,它是div id,在里面寻找label
标记,其中有input type="search"
,因此我在下面使用它提取了该搜索字段的值。
$("#example_filter > label > input").val();
这是其工作的证明:
,您可以使用以下脚本获取排序列的名称和索引(还包括页面加载时的默认排序):
$(document).ready(function (){
var table = $('#example').DataTable();
$("#example").dataTable().bind('click', function () {
var order = table.order();
alert( 'Table is ordered by column: '+order[0][0]+', direction:' + order[0][1]);
var title = table.column(order[0][0]).header();
alert( 'Ordering column title: '+$(title).html() );
});
var order = table.order();
alert( 'Table is ordered by column: '+order[0][0]+', direction:' + order[0][1]);
var title = table.column(order[0][0]).header();
alert( 'Ordering column title: '+$(title).html() );
});