基于StartsWith Not Contains的JQuery数据表搜索

基于StartsWith Not Contains的JQuery数据表搜索,jquery,asp.net-mvc-3,datatable,Jquery,Asp.net Mvc 3,Datatable,我正在使用Jquery数据表处理MVC3。每个网格都由搜索函数组成,它通过匹配输入字符(比如,使用contains)来搜索内容。但我需要的结果应该是使用StartsWith 我需要这样的东西 网格记录 1. Pipefitting Annotated instructor guide level 1 CD-ROM 2. Adobe Photoshop CS4 for photographers A professional image editors 如果我输入字符“a”,结果应该是第二行(通

我正在使用Jquery数据表处理MVC3。每个网格都由搜索函数组成,它通过匹配输入字符(比如,使用contains)来搜索内容。但我需要的结果应该是使用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
                ]
        });
    });

fnFilter允许您使用正则表达式筛选表:

$(document).ready(function() {
  var oTable = $('#example').dataTable();

  // Sometime later - filter...
  oTable.fnFilter( '^' + yourTerm, null, true, true, true, true);
} );

完整参考:

对于datatables 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();

        } );
表是datatable对象

#name是我传递参数的输入框

您可以定义感兴趣的列,然后根据参数在搜索中传入正则表达式查询


您可以在官方文档

DataTables文档中找到上述示例,其中说明正则表达式和智能搜索选项可能相互冲突,因此您可能不希望同时启用这两个选项。