我希望onselect事件只能在toolfilter而不是高级搜索中完成他的工作.
这是我的网格:
$('#grid').jqGrid({
colNames: ['Title', 'date'],
colModel: [
{ name: 'Title', index: 'Title', searchoptions: { sopt: ['cn']} },
{ name: 'date', index: 'date', search: true, searchoptions: {
sopt: ['deq', 'dge', 'dlt'],
dataInit: function (el) {
$(el).datepicker({ onSelect: function (dateText, inst) { $("#grid")[0].triggerToolbar(); } });
}
}, width: 70
}
],
pager: jQuery('#pager'),
hidegrid: false,
sortname: "date",
sortorder: "desc",
rowNum: 20,
rowList: [10, 20, 50, 100],
autowidth: true,
width: "100%",
height: "100%",
datatype: 'json',
viewrecords: true,
mtype: 'POST',
url: '<url>'
})
Run Code Online (Sandbox Code Playgroud)
提前致谢
例如,您可以使用以下事实:id
搜索工具栏中的元素将使用"gs_"
前缀进行修改.因此,实施可以是以下几点
dataInit: function (elem) {
$(elem).datepicker({
changeYear: true,
changeMonth: true,
showButtonPanel: true,
onSelect: function () {
var $grid, grid;
if (typeof (elem.id) === "string" && this.id.substr(0, 3) === "gs_") {
// in case of searching toolbar
$grid = $(elem).closest('div.ui-jqgrid-hdiv')
.next('div.ui-jqgrid-bdiv')
.find("table.ui-jqgrid-btable:first");
if ($grid.length > 0) {
grid = $grid[0];
if ($.isFunction(grid.triggerToolbar)) {
setTimeout(function(){
grid.triggerToolbar();
}, 50);
}
}
} else {
// refresh the filter in case of
// searching dialog
$(this).trigger('change');
}
}
});
}
Run Code Online (Sandbox Code Playgroud)
用非常接近的代码看答案.