【发布时间】:2014-09-13 00:22:18
【问题描述】:
我需要自定义过滤器,我在数据表中使用特殊功能,它过滤,但是当我查看我对过滤器的请求时,发送到过滤器的值总是空的。
我的代码:
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;
}
);
【问题讨论】:
-
试试
var segment = jQuery('#segment').select2('data').text(); -
我得到的字符串不是函数,我不认为它有问题。问题是我无法访问“jQuery.fn.dataTableExt.afnFiltering.push”,因为当我尝试 console.log 虚拟数据时,它没有显示。
-
好的 - 但如果没有更多代码,我们无法确定您是否 (a) 定义了扩展,(b) 正确调用它?
-
我是数据表的新手,我通过编写“jQuery.fn.dataTableExt.afnFiltering.push”来定义扩展。你怎么定义?其余代码调用 ajax 请求并使用 ajax 处理我使用的是这个示例 datatables.net/development/filtering
-
好的 - 你这里有 2 件事,Datatables 看起来没问题,然后
select2刚刚查了一下,我认为你想要的语法是$("#segment").select2("val")等等。跨度>
标签: jquery datatable filtering jquery-datatables