Jquery 如何将值传递给DataTable中的筛选器?
我需要定制过滤器,我在datatable中使用了特殊的函数,它可以过滤,但是当我查看对过滤器的请求时,发送给过滤器的值总是空的 我的代码:Jquery 如何将值传递给DataTable中的筛选器?,jquery,datatable,filtering,jquery-datatables,Jquery,Datatable,Filtering,Jquery Datatables,我需要定制过滤器,我在datatable中使用了特殊的函数,它可以过滤,但是当我查看对过滤器的请求时,发送给过滤器的值总是空的 我的代码: jQuery(document).ready(function() { var table = jQuery('#example2').DataTable(); jQuery("#segment").on("change", function(e) { var segment = jQuery('#segme
jQuery(document).ready(function() {
var table = jQuery('#example2').DataTable();
jQuery("#segment").on("change", function(e) {
var segment = jQuery('#segment').select2('data').text;
table.draw();
} );
我用它来推送值,从这里我什么也得不到,即使是在console.log中
//filter push
jQuery.fn.dataTableExt.afnFiltering.push(
function( oSettings, aData, iDataIndex ) {
//main filter
var segment = jQuery('#segment').select2('data').text;
var marke = jQuery('#model').select2('data').text;
console.log(segment);
if( aData[1]== segment ||
aData[3]== marke )
{
return true;
}
return false;
}
);
只需返回
true
或false
即可使过滤器正常工作。您可以在当前操作时获取段
和标记
的值。只需测试它们是否确实在通过console.log(segment,marke)
或alert(segment,marke)
检索值,只要获取正确的值,一切都应该正常。也许显示你的HTML
jQuery(document).ready(function() {
var table = jQuery('#example2').DataTable();
jQuery("#segment").on("change", function(e) {
// You do not need this as filter is run on a new table.draw();
// var segment = jQuery('#segment').select2('data').text;
table.draw();
} );
//filter push
jQuery.fn.dataTableExt.afnFiltering.push(
function( oSettings, aData, iDataIndex ) {
//main filter
var segment = jQuery('#segment').select2('val');
var marke = jQuery('#model').select2('val');
//Check whether you are getting an output from the log method below in your console
console.log(segment, marke);
if( aData[1]== segment ||
aData[3]== marke )
{
return true;
}
return false;
}
);
尝试
var segment=jQuery('#segment')。选择2('data')。text();我得到的字符串不是函数,我认为这不是问题。问题是我无法访问“jQuery.fn.dataTableExt.afnFiltering.push”,因为当我尝试控制台.log伪数据时,它不会显示。好的-但是如果没有更多代码,我们无法确定您是否(a)定义了扩展,(b)正确调用了扩展?我对DataTable是新手,我很难编写“jQuery.fn.dataTableExt.afnFiltering.push”我正在定义扩展。你如何定义?代码的其余部分是调用ajax请求并使用ajax处理,我使用的是这个示例好的-这里有两件事情,Datatables看起来很好,然后select2
刚刚查找完它,我想您需要的语法是$(“#段”)。select2(“val”)
等等。