我的Jqgrid中有一个过滤器,当我更改过滤器中的下拉列表时,我想要一个函数来执行。我使用当前代码得到的问题是它使用了更改之前的值,而不是之后的值。
目前我有以下代码:
{ name: 'STATUS', index: 'STATUS', sortable: false, width: 80, stype: 'select',
searchoptions: { value: ":All;Active:Active;Not active:Not active",
dataEvents: [
{ type: 'change',
fn: function() {
alert($('#Jqgrid').getGridParam('postData').filters);
}
}
]
}
},
答案 0 :(得分:0)
如果您使用工具栏搜索,则可以使用filterToolbar方法的beforeSearch
回调选项。在方法内部,您可以使用$('#Jqgrid').jqGrid('getGridParam', 'postData').filters
来获取甚至修改过滤器,然后才能使用。您可以查看the answer作为示例。
如果您想在之后执行某些操作,则应用过滤器并加载过滤后的数据,您应该访问postData.filters
内的loadComplete
。请参阅another answer作为示例。
答案 1 :(得分:0)
尝试使用以下内容获取值:
...
dataEvents: [
{ type: 'change',
fn: function() {
console.log("value", $(this).val(), $(this).find("option:selected").val());
}
}
]
}
...
取决于使用jquery版本。