我正在尝试在JQGrid工具栏上添加Datepicker过滤器。当我点击日期过滤器时,Datepicker出现没问题,但是当我选择我的日期时,什么也没发生。我选择的日期没有显示在工具栏过滤器和诅咒中,没有搜索启动。 我错过了什么? 这是我的代码:
colModel: [
{ name: 'Period', index: 'Period', align: 'left', formatter: 'date',
search: true,
searchoptions: {
dataInit: function (el) {
$(el).datepicker({
changeYear: true,
changeMonth: true,
showButtonPanel: true,
dateFormat: 'dd-mm-yy',
onSelect: function(dateText, inst) {
$("#grid_id")[0].triggerToolbar();
}
});
}
}}
]
提前感谢您的帮助!
答案 0 :(得分:2)
搜索工具栏的问题是来自onSelect
回调的代码可能过早执行。所以你应该在另一个线程中启动代码并允许当前的工作完成到最后:
colModel: [
{ name: 'Period', index: 'Period', align: 'left', formatter: 'date',
search: true,
searchoptions: {
dataInit: function (el) {
$(el).datepicker({
changeYear: true,
changeMonth: true,
showButtonPanel: true,
dateFormat: 'dd-mm-yy',
onSelect: function () {
if (this.id.substr(0, 3) === "gs_") {
// call triggerToolbar only in case of searching toolbar
setTimeout(function () {
$("#grid_id")[0].triggerToolbar();
}, 100);
}
}
});
}
}}
]
我插入的当前id
字段的<input>
测试,以确保我们不会尝试在搜索对话框中使用triggerToolbar
。我的意思是,可以将搜索工具栏与advanced searching组合用于简单搜索,以获得更复杂的搜索请求。