到目前为止,我很喜欢 dataTables,但我遇到的只是一个问题......
我有一列“状态”图像,样式为:
<td><img class="status" alt="green" src="images/dt/greenStatus.png"></td>
该列的 sType 为“alt-status”,我已向该列添加了自定义排序,以根据 alt 文本是红色、黄色还是绿色对它们进行排序。它工作完美,符合预期。这是代码:
jQuery.extend( jQuery.fn.dataTableExt.oSort, {
"alt-status-pre": function ( a ) {
switch(a.match(/alt="(.*?)"/)[1].toLowerCase()){
case 'green': return 1;
case 'yellow': return 2;
case 'red': return 3;
default: return 4;
}
},
"alt-status-asc": function( a, b ) {
return ((a < b) ? -1 : ((a > b) ? 1 : 0));
},
"alt-status-desc": function(a,b) {
return ((a < b) ? 1 : ((a > b) ? -1 : 0));
}
} );
现在,我也只想根据这个 alt 字段过滤它们。我尝试了一些不同的东西,但它们都不起作用。我试过了:
$.fn.dataTableExt.ofnSearch['alt-status'] = function ( sData ) {
console.log(sData);
return sData.replace(/\n/g," ").replace( /<.*?>/g, "" );
};
只是尝试从过滤器中删除 html,但这也不起作用。我仍然可以搜索<img
,它们都显示了。
据我所知,这个方法甚至没有被调用。任何人都有基于图像替代文本过滤的经验吗?
这个问题也发布在dataTable论坛上:http: //goo.gl/79XXq