如何在数据表中过滤输入字段(文本框中的用户输入,隐藏字段,选择,textareas等)?
$('#datatable').dataTable({
"aoColumnDefs": [
{ "aTargets": [0], "bSearchable": true }, // <input type="text">
{ "aTargets": [1], "bSearchable": true }, // <select>
{ "aTargets": [2], "bSearchable": true }, // radio buttons
],
"aaSorting": [[1, 'asc']]
});
答案 0 :(得分:1)
好像你正在使用它的旧版本(如果您添加的标签的版本与您正在使用的版本一致)。
而且,您可以使用filtering example API
获得一些真正的乐趣这应该让你开始你想要的道路。看看其他的例子。我已经使用了几次这对很多任务来说非常好。
答案 1 :(得分:1)
如果您使用的是1.8.2或更高版本,则可以使用fnServerParams,它会添加到您的表初始化代码中,如下所示:
...
"aaSorting": [[1, 'asc']],
"fnServerParams": function (aoData) {
aoData.push({ "name": "my-id", "value": $('#my-selector').val() });
},
...
在此示例中,每次重绘表时,my-id
值都将作为<input id="my-selector"...
的参数传递,这显然可以是您需要的任何类型的输入,字段或元素得到的价值。
您的数据源需要知道这个新参数(您没有指定您正在使用的数据源,但这里是sAjaxSource
使用服务器端c#的示例):
var customParam = Request.QueryString["my-id"];
您还可以使用fnDraw()
从按钮,链接等触发过滤。