2

我想在其标题上创建一个带有下拉列表框的数据表,该列表框根据框中的选定列过滤要显示的行。我修改了这里的示例列过滤示例以在标题中显示下拉列表框

   /* Add a select menu for each TH element in the table footer */
   //   $("tfoot th").each( function ( i ) {
      $("thead th").each( function ( i ) {
       ...

它工作正常,但是当我单击下拉列表框时它会执行排序。是否可以在我对下拉列表执行操作时禁用排序,并在我单击单元格中不属于下拉列表的任何位置时触发排序。

谢谢。

4

2 回答 2

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();
    } );
} );
于 2013-01-16T01:37:20.440 回答
0

不要处理 select 的 onChange 事件或删除 sort 调用。我相信你可以在单元格中绑定一个点击事件。如果没有,请格式化您的表格以在您可以处理点击事件的每个单元格中包含一个锚标记。

于 2012-10-23T05:59:15.827 回答