Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery Datatables筛选器列包含文本而非值的下拉列表。_Javascript_Jquery_Datatable_Datatables - Fatal编程技术网

Javascript jQuery Datatables筛选器列包含文本而非值的下拉列表。

Javascript jQuery Datatables筛选器列包含文本而非值的下拉列表。,javascript,jquery,datatable,datatables,Javascript,Jquery,Datatable,Datatables,我使用jQuery插件DataTables来显示数据库中的数据。列具有不同的控件类型。其中一列将其称为列,并将选择框作为控件类型。 我还使用了DataTables提供的过滤器、分页功能。列上的筛选器根据列中的值筛选数据 是否有任何方法可以过滤框中显示的文本(即选项文本)上的数据 self.dummyDataTable = FIT.component.DataTable.init({ renderTo: 'dummy-index-table', id: 'dvmyI

我使用jQuery插件DataTables来显示数据库中的数据。列具有不同的控件类型。其中一列将其称为列,并将选择框作为控件类型。 我还使用了DataTables提供的过滤器、分页功能。列上的筛选器根据列中的值筛选数据

是否有任何方法可以过滤框中显示的文本(即选项文本)上的数据

self.dummyDataTable = FIT.component.DataTable.init({
        renderTo: 'dummy-index-table',
        id: 'dvmyInputDataGrid',
        data: data[0],
        deferRender: true,
        perPage: 10,
        paging: true,
        scrollY: "200px",
        sScrollX: "200px",
        height: ($(window).height()) * (0.7),
        scroller: true,
        scrollCollapse: true,
        searchable: true,
        showFilters: true,
        sortable: false,
        aaSorting: [],

        columns: Columns,
        select: {
            style: 'os',
            selector: 'td:first-child'
        },
    });
例如:

<select>
        <option value="0">--- Select Officer---</option>
        <option value="1">Sam</option>
        <option value="2">Brad</option>
        <option value="3">Nicholas</option>
        <option value="4">John</option>
</select>
当我将filter设置为true时。对于这个特定的“选择框”列,它会在列顶部的过滤器框中显示值属性列表,如1,2,3

用户可能会混淆单元格中的文本和用户完全不知道的筛选器框中的值。 是否有任何方法可以根据文本进行过滤,例如Sam、Brad、Nicholas、John


我已经添加了与过滤和搜索相关的代码

如果我理解你。您可以使用要搜索的文本的值创建选择选项,如:

...
<select id="select_name">
    <option value="0">--- Select Officer---</option>
    <option value="Sam">Sam</option>
    <option value="Brad">Brad</option>
    <option value="Nicholas">Nicholas</option>
    <option value="John">John</option>
</select>
...
然后在select上添加一个on change事件以在datatable中搜索,如:

$('select#select_name').change(function(){
    self.dummyDataTable.columns( <# column> ).search( this.value ).draw();
});

其中是您要搜索的列的编号。

创建一个示例链接,这样我们可以检查您的问题并纠正它,因为数据来自数据库,而且所有列都是动态生成的,其控件类型信息来自database,所以我需要创建一个带有静态数据的示例。同时,您还有什么具体的事情需要澄清吗?感谢您的快速响应@inye Datatables具有集成的过滤功能。所以它所做的是,无论该列的控件类型是什么,它都会在列的顶部放置一个具有相同控件类型的过滤器。假设某列的控件类型为文本框,则过滤器框的类型为文本框,如果为选择框,则过滤器框的类型为选择框。