Javascript 使用选择框进行Datatable单列搜索
我可以使用datatable中的选择框进行单独搜索,但我只想对一列进行搜索,其他列是不必要的。例如,我只想在第二列和第三列上激活这个选择框 我找到了,但没用。以下是我的JavaScript代码:Javascript 使用选择框进行Datatable单列搜索,javascript,jquery,drop-down-menu,datatable,Javascript,Jquery,Drop Down Menu,Datatable,我可以使用datatable中的选择框进行单独搜索,但我只想对一列进行搜索,其他列是不必要的。例如,我只想在第二列和第三列上激活这个选择框 我找到了,但没用。以下是我的JavaScript代码: $(document).ready(function() { var table = $('#example').DataTable(); $("#example tfoot th").each( function ( i ) { var select = $('<
$(document).ready(function() {
var table = $('#example').DataTable();
$("#example tfoot th").each( function ( i ) {
var select = $('<select><option value="">Lütfen seçiniz</option></select>')
.appendTo( $(this).empty() )
.on( 'change', function () {
var val = $(this).val();
table.column( i )
.search( val ? '^'+$(this).val()+'$' : val, true, false )
.draw();
} );
table.column( i ).data().unique().sort().each( function ( d, j ) {
select.append( '<option value="'+d+'">'+d+'</option>' )
} );
} );
} );
$(文档).ready(函数(){
变量表=$(“#示例”).DataTable();
$(“#示例tfoot th”)。每个(函数(i){
var select=$('Lütfen seçinizing')
.appendTo($(this).empty())
.on('change',function(){
var val=$(this.val();
表.第(一)栏
.search(val?'^'+$(this).val()+'$':val,true,false)
.draw();
} );
table.column(i).data().unique().sort().each(函数(d,j){
选择。追加(“”+d+“”)
} );
} );
} );
有没有办法解决这个问题
您可以执行以下操作:
$(document).ready(function() {
var table = $('#example').DataTable();
$("#example tfoot th").each( function ( i ) {
if(i == 0){ //Create just one SelectBox
var select = $('<select class='+i+'><option value=""></option></select>')
.appendTo( $(this).empty() )
.on( 'change', function () {
var val = $(this).val();
table.column( 0 ) //Only the first column
.search( val ? '^'+$(this).val()+'$' : val, true, false )
.draw();
} );
table.column( 0 ).data().unique().sort().each( function ( d, j ) {
select.append( '<option value="'+d+'">'+d+'</option>' );
} );
}
});
} );
$(文档).ready(函数(){
变量表=$(“#示例”).DataTable();
$(“#示例tfoot th”)。每个(函数(i){
如果(i==0){//只创建一个SelectBox
变量选择=$(“”)
.appendTo($(this).empty())
.on('change',function(){
var val=$(this.val();
table.column(0)//仅第一列
.search(val?'^'+$(this).val()+'$':val,true,false)
.draw();
} );
table.column(0).data().unique().sort().each(函数(d,j){
select.append(“”+d+“”);
} );
}
});
} );
@Skynet:我再次提醒您修复帖子中其他显而易见的问题,例如帖子中不必要的注释(“谢谢”)、错误的代码缩进和其他格式问题。编辑会将帖子推到主页顶部,这样做只是为了添加标签,这是浪费时间。@Qantas 94 Heavy多次尝试过,但网站不允许我通过说这还不够来纠正它们。所以在这里我对此无能为力。@Skynet:然后也编辑其他文本,在文章的其他部分修改一些拼写,然后它会允许您。这次我已经为您完成了,请查看编辑摘要以查看我所做的更改。