尝试编写一个自定义排序函数,如果该行已输入其他文本,则该函数可以检索输入的值。见下文,
function getValue(x) {
if (x.indexOf('input') >= 0) {
return $(x).val();
}
return x;
}
现在,使用这个函数来实现自定义比较器,如下所示,
jQuery.fn.dataTableExt.oSort['cust-txt-asc'] = function (a, b) {
var x = getValue(a);
var y = getValue(b);
return ((x < y) ? -1 : ((x > y) ? 1 : 0));
};
jQuery.fn.dataTableExt.oSort['cust-txt-desc'] = function (a, b) {
var x = getValue(a);
var y = getValue(b);
return ((x < y) ? 1 : ((x > y) ? -1 : 0));
};
使用上述搜索比较器初始化数据表,
$('#example').dataTable({"aoColumns": [
{ "sType": "cust-txt" },
{ "sType": "cust-txt" },
{ "sType": "cust-txt" },
{ "sType": "cust-txt" }
]});
演示:http: //jsfiddle.net/eLTUA/