Javascript 根据循环中的类型进行列筛选
我正在使用作为参考进行列过滤,这就是我正在做的,它工作得很好Javascript 根据循环中的类型进行列筛选,javascript,datatables,Javascript,Datatables,我正在使用作为参考进行列过滤,这就是我正在做的,它工作得很好 $(document).ready(function() { var table; // DataTable table = $('#example').dataTable({ "processing": true, stateSave: true, "deferRender
$(document).ready(function() {
var table;
// DataTable
table = $('#example').dataTable({
"processing": true,
stateSave: true,
"deferRender": true, // to make the search fast
"dom": 'C<"clear">Rfltipr', // for column Re-odering and column visibilty.
"ajax": {
"url": "/my/example.so",
"type": "GET"
},
"columns": [{
"title": "name",
"data": "name",
"name": "name"
}, {
"title": "addeddate",
"data": "addeddate",
"name": "added date"
}]
});
table.columnFilter({
sPlaceHolder: "head:before",
aoColumns: [{
type: "text"
}, {
type: "date-range",
bRegex: true,
bSmart: true
}
}
]
});
$.datepicker.regional[""].dateFormat = 'yy-mm-dd';
$.datepicker.setDefaults($.datepicker.regional['']);
我有多个列,所以我们如何在这里使用循环来实现它
$(document).ready(function() {
var table;
// DataTable
table = $('#example').dataTable({
"processing": true,
stateSave: true,
"deferRender": true, // to make the search fast
"dom": 'C<"clear">Rfltipr', // for column Re-odering and column visibilty.
"ajax": {
"url": "/my/example.so",
"type": "GET"
},
"columns": [{
"title": "name",
"data": "name",
"name": "name"
}, {
"title": "addeddate",
"data": "addeddate",
"name": "added date"
}]
});
table.columnFilter({
sPlaceHolder: "head:before",
aoColumns: [{
type: "text"
}, {
type: "date-range",
bRegex: true,
bSmart: true
}
}
]
});
$.datepicker.regional[""].dateFormat = 'yy-mm-dd';
$.datepicker.setDefaults($.datepicker.regional['']);
此外,这里我还需要为所有列编写标记,这在多列的情况下也不好第二种方法不适用于日期列设置-在每个单元格中添加文本输入
$(document).ready(function() {
var table;
// DataTable
table = $('#example').dataTable({
"processing": true,
stateSave: true,
"deferRender": true, // to make the search fast
"dom": 'C<"clear">Rfltipr', // for column Re-odering and column visibilty.
"ajax": {
"url": "/my/example.so",
"type": "GET"
},
"columns": [{
"title": "name",
"data": "name",
"name": "name"
}, {
"title": "addeddate",
"data": "addeddate",
"name": "added date"
}]
});
table.columnFilter({
sPlaceHolder: "head:before",
aoColumns: [{
type: "text"
}, {
type: "date-range",
bRegex: true,
bSmart: true
}
}
]
});
$.datepicker.regional[""].dateFormat = 'yy-mm-dd';
$.datepicker.setDefaults($.datepicker.regional['']);
var noofcolumn= $('#example thead th').length;
colmn="";
for(i=0; i<noofcolumn; i++)
{
var title = $('#example thead th').eq( i ).text();
colmn+='<th><input type="text" placeholder="Search '+title+'" /></th>';
}
$('#example tfoot').html( colmn );
// Apply the search
table.columns().every( function ()
{
$('input', this.footer() ).on( 'keyup change', function () {
table
.column( $(this).parent().index()+':visible' )
.search( this.value )
.draw();
} );
});
您可以在一个循环中生成一个对象数组,将其存储在一个变量中,并将其用作列和aoColumns选项的参数。您可以提供一个例子吗?我对javascripts非常陌生?列的数量是预先确定的还是动态的?如果是预先确定的,则不需要循环,只需向列和aoColumns数组添加更多列定义。这是预先确定的,我总共有40列。请参阅上面的代码我在上面的问题代码中添加了一些代码,我是通过循环执行的,但这不适用于日期列。