我正在使用Jquery DataTables处理MVC3。每个网格都包含搜索功能,它通过匹配输入字符(例如,使用包含)来搜索内容。但我需要的结果应该是使用StartsWith。
我需要这样的东西,
网格记录
1. Pipefitting Annotated instructor guide level 1 CD-ROM
2. Adobe Photoshop CS4 for photographers A professional image editors
如果我输入字符'a',结果应该带有第二行(通过搜索字符串中单词的起始字符)。或者如果我输入'g',那么结果应该是第一个记录。
我搜索了很多,但我找不到符合我要求的东西。请建议我怎么做。
查看代码
$(document).ready(function () {
$('#CollectionTable').dataTable({
"bJQueryUI": true,
"sPaginationType": "full_numbers"}).makeEditable({
"aoColumns": [
null, null
]
});
});
答案 0 :(得分:0)
fnFilter允许您使用正则表达式过滤表:
$(document).ready(function() {
var oTable = $('#example').dataTable();
// Sometime later - filter...
oTable.fnFilter( '^' + yourTerm, null, true, true, true, true);
} );
答案 1 :(得分:0)
使用数据表1.10.9,搜索以您将输入的参数开头的值非常简单。
我自己做了一些研究,但是datatables API有内置的列过滤器来做你想要的。
var table = $('#table_id').DataTable();
$('#name').on( 'keyup', function () {
table
.columns( 0 ) // 0 based column
.search( "^"+this.value, true, true, true )
.draw();
} );
table是数据表对象
和#name是我传递参数的输入框。
您可以定义您感兴趣的列,然后在搜索参数时传入正则表达式查询。
您可以在官方文档here
中找到上述示例