SRI*_*SRI 3 javascript datatable jquery filtering
对于我的应用程序,我将JQuery数据表与实现框架一起使用。我的表包含以下列: 1.名称2.位置3.Office 4.Age 5.Date和6.Salary 在此,我正在为表中的“ Office”和“ Age”列动态创建一个多选过滤器响应。我在下面的JSFiddle链接中尝试了我的示例。
JSFiddle
JSFiddle
但是过滤仅适用于单选项,而不适用于多选过滤。同样,“ Office ”和“ Age ”过滤器之间没有关系,它们都可以单独工作。
如何解决这个问题?
尝试将任何更改事件分开以进行选择。
尝试这个:
$(document).ready(function (){
var table = $('#example').DataTable({
dom: 'lrtip',
initComplete: function () {
this.api().columns([2]).every( function () {
var column = this;
console.log(column);
var select = $("#officeFltr");
column.data().unique().sort().each( function ( d, j ) {
select.append( '<option value="'+d+'">'+d+'</option>' )
} );
} );
this.api().columns([3]).every( function () {
var column = this;
console.log(column);
var select = $("#ageFltr");
column.data().unique().sort().each( function ( d, j ) {
select.append( '<option value="'+d+'">'+d+'</option>' )
} );
} );
$("#officeFltr,#ageFltr").material_select();
}
});
$('#officeFltr').on('change', function(){
var search = [];
$.each($('#officeFltr option:selected'), function(){
search.push($(this).val());
});
search = search.join('|');
table.column(2).search(search, true, false).draw();
});
$('#ageFltr').on('change', function(){
var search = [];
$.each($('#ageFltr option:selected'), function(){
search.push($(this).val());
});
search = search.join('|');
table.column(3).search(search, true, false).draw();
});
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11239 次 |
最近记录: |