我使用 jQuery 数据表(最新版本 1.10.19)jQuery 版本。3.3.1 查表未得到预期结果:
if 函数用于为列搜索返回生成的值不会产生所需的结果。
var rowno =1;
var dataSet = [
["Airi Satou", "Accountant", "Tokyo"],
["Angelica Ramos", "Chief Executive Officer (CEO)", "London"],
["Gavin Joyce", "Developer", "Edinburgh"],
["Jennifer Chang", "Regional Director", "Singapore"],
["Brenden Wagner", "Software Engineer", "San Francisco"],
["Fiona Green", "Chief Operating Officer (COO)", "San Francisco"],
["Shou Itou", "Regional Marketing", "Tokyo"],
["Martena Mccray", "Post-Sales support", "Edinburgh"],
["Unity Butler", "Marketing Designer", "San Francisco"]
];
$(document).ready(function() {
$('#example').DataTable( {
data: dataSet,
"columns": [
// ** DataTable search / filter FAIL: on column function generated value ***
// { "data": function ( row, type, val, meta ) {return rowno++ ;}, "title" : "Row No."},
{ "data": function ( row, type, val, meta ) {return "row"+ rowno++ ;}, "title" : "Row No."},
{ "data": 0,"title": "Name"},
{ "data": 1,"title": "Position"},
{ "data": 2,"title": "Office"}
]
} );
} );
参见:jsfiddle:https ://jsfiddle.net/scriptgurus/q4cvr9a8/
搜索“row1..”或row2..row3..我们应该得到带有“row1”等的行。
您需要使用特定的东西,因为您所做的是添加 always + 1 on rowno
。通常你可以这样做。但是在您的情况下,如果您这样做,console.log(rowno++)
您会看到它添加的次数比您预期的要多很多次,这是因为循环运行了我能看到的 5 次,因此它总共添加了 45 次。数组项 (9*5) = 45,所以你有meta
我看到它返回meta.row
带有行索引的,所以你可以这样return "row" + (meta.row + 1)
做 + 1 到索引号。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句