过滤不适用于选择

时间:2015-06-08 07:14:51

标签: jquery datatable filtering html-select

我创建了一个带有固定标题和排序的dataTable的应用程序,应用程序工作正常,但问题是我通过下拉列表进行过滤,当我选择一个特定名称时,这个名称无效。

我的代码如下。

任何人都可以告诉我一些解决方案:

Working Demo

$(document).ready(function () {
    myTable = $('#myTable').dataTable({
        "bInfo": false,
        "bLengthChange": false,
        "bPaginate": false,
        "scrollY": "300px",
        "scrollX": "100%",
        "scrollCollapse": true,
    });

    new $.fn.dataTable.FixedColumns(myTable, {
        leftColumns: 1,
        rightColumns: 1
    });

    $("#name").on('change', function () {
        filterNames();
    });

    function filterNames() {
        var name = $('#name option:selected').attr('value');
        myTable.fnFilter(name, 14, false, false, false, false);
    }
});

1 个答案:

答案 0 :(得分:3)

您在fnFilter中输入了错误的索引。找到以下工作代码,

JSFiddle

问题出在on事件中,您应该将选择器提供给on函数

或者使用

委托:它只是附加事件运行时。有关详细信息,请参阅http://api.jquery.com/delegate/

需要使用$(this)来获取事件处理程序中的选定值。