dataTables:删除除一个选择输入之外的所有输入

时间:2016-07-07 14:35:53

标签: javascript jquery datatable datatables

HY,

以下多重过滤器选择dataTable适合我的项目。

https://datatables.net/examples/api/multi_filter_select.html

但是,我想删除除一个选择输入之外的所有选项(在表格的底部),在上面的页面中说“Office”选择输入而不是空白应该显示默认标题,如“选择办公室”。

由于我对dataTables和JS都很陌生,所以我不太了解如何使用dataTAbles API来定制它,所以anybuddy可以帮助我。

由于 DK

1 个答案:

答案 0 :(得分:2)

您只需稍微修改给定的代码即可。 而不是预先对每一列进行操作,而不是一列:

/*this.api().columns().every( function () {
  var column = this;
} )*/
var column = this.api().column(2);

删除空白并显示“Chose Office”之类的内容。您需要将文本放在选项

的结束标记和开始标记之间
var select = $('<select><option value="">YOUR TEXT HERE</option></select>')

这是完整的代码和jsfiddle

$(document).ready(function() {
  $('#example').DataTable({
    initComplete: function() {
      var column = this.api().column(2);
      var select = $('<select><option value="">Choose Office</option></select>')
        .appendTo($(column.footer()).empty())
        .on('change', function() {
          var val = $.fn.dataTable.util.escapeRegex(
            $(this).val()
          );
          column
            .search(val ? '^' + val + '$' : '', true, false)
            .draw();
        });

      column.data().unique().sort().each(function(d, j) {
        select.append($('<option>', {value: d, text: d}));
      });
    }
  });
});

修改: 我也是如此自由,用'<option value="'+d+'">'+d+'</option>'替换$('<option>', {value: d, text: d})来修复xss 漏洞并允许使用"的值。