Jquery 如何使datepicker onselect函数在jqgrid中的工具栏搜索和高级搜索中发挥不同的作用

Jquery 如何使datepicker onselect函数在jqgrid中的工具栏搜索和高级搜索中发挥不同的作用,jquery,jqgrid,Jquery,Jqgrid,我希望onselect事件只在toolfilter上执行其工作,而不是在高级搜索中 这是我的表格: $('#grid').jqGrid({ colNames: ['Title', 'date'], colModel: [ { name: 'Title', index: 'Title', searchoptions: { sopt: ['cn']} }, { name: 'date',

我希望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>'

        })
$(“#网格”).jqGrid({
colNames:['Title','date'],
colModel:[
{名称:'Title',索引:'Title',搜索选项:{sopt:['cn']},
{名称:'date',索引:'date',搜索:true,搜索选项:{
sopt:['deq','dge','dlt'],
dataInit:函数(el){
$(el).datepicker({onSelect:function(dateText,inst){$(“#grid”)[0].triggerToolbar();});
}
},宽:70
}
],
pager:jQuery(“#pager”),
希德格里德:错,
sortname:“日期”,
巫师:“描述”,
rowNum:20,
行列表:[10,20,50,100],
自动宽度:正确,
宽度:“100%”,
高度:“100%”,
数据类型:“json”,
viewrecords:是的,
mtype:“POST”,
url:“”
})

例如,您可以使用这样一个事实:搜索工具栏内元素的
id
将使用
“gs\ux”
前缀进行构造。因此,实现可能涉及以下内容

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');
            }
        }    
    });
}
请参阅非常接近的代码