我的表格正确呈现,但我正在努力如何过滤特定列/行的值。
以下是列定义:
{
'aTargets': [9],
'bSortable': true,
'bVisible': true,
'mData': 'partlist',
'mRender': function(data, type, row) {
$.each(data, function(key, val) {
if ($.inArray(val.name, partArray) === -1) {
partArray.push(val.name);
}
});
return partArray;
}
}
这很有效。在我的表格中,我得到了一系列类似于以下内容的零件编号:
[123,456,789...]
我有一个下拉列表,其中还包含部件号列表。当用户选择任何给定的部件号时,我想过滤包含该部件号的行。当然,其他数字将在行中,我只对该行包含所选部件号感兴趣。
以下是我当前的过滤器设置:
$.fn.dataTableExt.afnFiltering.push(
function(oSettings, aData, iDataIndex) {
if ($('#showHideByPartNumber').val() === "" || $('#showHideByPartNumber').val() === 'undefined')
{
return true;
}
else
{
console.log(typeof (aData[9])); // Returns Object
console.log(aData[9]); // Returns ["123", "456", "789", "987", "654", "321"]
// ["123", "456", "789", "987", "654", "321"]
// ["123", "456", "789", "987", "654", "321"]
}
} );
我从aData获取每行的所有部件号。假设我有3行,我会得到:
[123, 456, 789, 987, 654, 321] [123, 456, 789, 987, 654, 321] [123, 456, 789, 987, 654, 321]这意味着过滤将返回每行的匹配项。 实际上,我试图进入aData的结果:
[123, 456] [789] [987,654,321](这是我的表正确显示的内容),以便我可以正确过滤行。
感谢您提出任何建议,感谢您的光临。