我创建了一个带有固定标题和排序的dataTable的应用程序,应用程序工作正常,但问题是我通过下拉列表进行过滤,当我选择一个特定名称时,这个名称无效。
我的代码如下。
任何人都可以告诉我一些解决方案:
$(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);
}
});
答案 0 :(得分:3)
您在fnFilter
中输入了错误的索引。找到以下工作代码,
问题出在on
事件中,您应该将选择器提供给on
函数
或者使用
委托:它只是附加事件运行时。有关详细信息,请参阅http://api.jquery.com/delegate/
和
需要使用$(this)来获取事件处理程序中的选定值。