我想在其标题上创建一个带有下拉列表框的数据表,该数据表根据框中的选定列过滤要显示的行。我修改了这里的示例column filtering example以显示标题
中的下拉列表框 /* Add a select menu for each TH element in the table footer */
// $("tfoot th").each( function ( i ) {
$("thead th").each( function ( i ) {
...
它工作正常,但是当我点击下拉列表框时它会执行排序。当我在下拉列表上执行操作时,是否可以禁用排序,当我单击单元格中不属于下拉列表的任何位置时触发排序。
感谢。
答案 0 :(得分:3)
$("thead th").each( function ( i ) {
this.innerHTML = fnCreateSelect( oTable.fnGetColumnData(i) );
$('select', this).change( function () {
oTable.fnFilter( $(this).val(), i );
} );
$('select', this).click( function (event) {
event.stopPropagation();
} );
} );
答案 1 :(得分:0)
不要为select或删除排序调用处理onChange事件。我相信你可以绑定单元格中的click事件。如果没有,请格式化表格以在每个单元格中包含一个锚标记,您可以在其中处理单击事件。