Javascript 如何使用Datatable jquery在同一个表中搜索单个列(文本输入,选择下拉列表)?

Javascript 如何使用Datatable jquery在同一个表中搜索单个列(文本输入,选择下拉列表)?,javascript,jquery,datatable,bootstrapping,Javascript,Jquery,Datatable,Bootstrapping,[ 我想将(输入类型)替换为(选择下拉列表),那么我应该怎么做 我必须把黑方块变成数据表中的下拉列表 参考资料:-您好,我试图为这个问题找到一个解决方案看看 var table = $('#example').DataTable(); // Apply the search in normal text input way table.columns().every( function () { var that = this; $( 'input', this.footer

[

我想将(输入类型)替换为(选择下拉列表),那么我应该怎么做

我必须把黑方块变成数据表中的下拉列表


参考资料:-

您好,我试图为这个问题找到一个解决方案看看

var table = $('#example').DataTable();

// Apply the search in normal text input way
table.columns().every( function () {
    var that = this;

    $( 'input', this.footer() ).on( 'keyup change', function () {
        if ( that.search() !== this.value ) {
            that
                .search( this.value )
                .draw();
        }
    } );
} );
使用第2列的select input进行筛选,该列将替换为您选择的列

 table.column(2).every( function () {

    var column = this;
    var select = $('<select><option value=""></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 + '">' + d + '</option>')
    });

});
table.column(2).every(函数)(){
var列=此;
变量选择=$(“”)
.appendTo($(column.footer()).empty())
.on('change',function()){
var val=$.fn.dataTable.util.escapeRegex(
$(this.val()
);
柱
.search(val?“^”+val+“$”:“”,true,false)
.draw();
});
column.data().unique().sort().each(函数(d,j){
选择。追加(“”+d+“”)
});
});
还创建了一个小提琴,让我知道是否符合您的要求。

您好,我试图为这个问题找到一个解决方案看看

var table = $('#example').DataTable();

// Apply the search in normal text input way
table.columns().every( function () {
    var that = this;

    $( 'input', this.footer() ).on( 'keyup change', function () {
        if ( that.search() !== this.value ) {
            that
                .search( this.value )
                .draw();
        }
    } );
} );
使用第2列的select input进行筛选,该列将替换为您选择的列

 table.column(2).every( function () {

    var column = this;
    var select = $('<select><option value=""></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 + '">' + d + '</option>')
    });

});
table.column(2).every(函数)(){
var列=此;
变量选择=$(“”)
.appendTo($(column.footer()).empty())
.on('change',function()){
var val=$.fn.dataTable.util.escapeRegex(
$(this.val()
);
柱
.search(val?“^”+val+“$”:“”,true,false)
.draw();
});
column.data().unique().sort().each(函数(d,j){
选择。追加(“”+d+“”)
});
});
还创建了一个小提琴,让我知道是否符合您的要求。

我只是想说这很有帮助!我只是想说这很有帮助!