Jquery 重置按钮正在刷新Jqgrid中的过滤条。?

Jquery 重置按钮正在刷新Jqgrid中的过滤条。?,jquery,jquery-ui,jqgrid,Jquery,Jquery Ui,Jqgrid,我在重置中有一个问题,正如您看到的,我已将状态默认设置为活动,并且只能选择一条记录,选择记录后,用户可以单击添加WO 但当点击重置按钮时,整个状态栏都会改变 我还将dafaultvalue设置为ACTIVE ALL。。!! 当状态重置时,我必须保持激活状态。。!!请帮帮我 function initJqGridSearchSubProject(table,pager,msg,loadSelID,caption,chkMrk ){ $(table).empty(); $(table).G

我在重置中有一个问题,正如您看到的,我已将状态默认设置为活动,并且只能选择一条记录,选择记录后,用户可以单击添加WO

但当点击重置按钮时,整个状态栏都会改变

我还将dafaultvalue设置为ACTIVE ALL。。!! 当状态重置时,我必须保持激活状态。。!!请帮帮我

function initJqGridSearchSubProject(table,pager,msg,loadSelID,caption,chkMrk ){

 $(table).empty();
 $(table).GridUnload();
 var mygrid =jQuery(table).jqGrid({
    datatype: "local",      
    data:msg,   
    width: 1240,
    scrollOffset:0,     
    height: 250,
    colNames:['ID','PID','Project Folder Name','Sub Project Name','Responsible','Status','Last Updated On'],
    colModel:[
    {name:'id',index:'id',hidden:true, width:5, sorttype:"int", editable: false,resizable:false},
    {name:'pid',hidden:true, width:5, sorttype:"int", editable: false,resizable:false},
    {name:'projectFolderName', width:250, editable: true,formatter:'tsLinks'},
    {name:'subProjectName', width:250, editable: true,formatter:'subProjectLinks'},
    //{name:'eCNNumber', width:150, editable: true},                
    {name:'responsible', width:200, editable:false,resizable:false},
    {name:'status', width:100,editable: true,stype:'select',edittype:"select",resizable:false,searchoptions:{defaultValue:"ACTIVE"},editoptions:{value:"ACTIVE:ACTIVE;INACTIVE:INACTIVE;DELETED:DELETED",readonly:false},editrules:{edithidden:false}}, 
    {name:'lastUpdatedOn', width:200,editable: false,resizable:false,sorttype:'date',formatter:'date',formatoptions:{ srcformat: 'M d y H:i:s', newformat: 'd M y h:i A' }}

        ],
    pager: pager,
    rowNum:200,     
    rowList:[200,400,600,1000],
    //rowTotal:2000,                    
    //loadOnce:true,    
    //rownumbers:true,
    gridview : true,
    sortname: 'lastUpdatedOn',                  
    viewrecords: true,
    sortorder: "desc",                  
    toppager:true,
    multiselect:true,
    singleselect: false, 
    //multiboxonly:true,
    //toolbar: [true,'both'],                   
    caption:caption,
    hidegrid: false,
    gridComplete:function(id){
    //$(chkMrk).hide();
    //alert('grid complete');
    },
    beforeSelectRow: function(rowid, e)
    {
        // reset check box selection only when user clicks on another checkbox
        if($(e.target).is("input:checkbox"))
        {
            // reset/clear other checkboxes selection before making a latest clicked row's checkbox as selected
            jQuery(table).jqGrid('resetSelection');
        }

        // Code To Disable Check Box Selection When User Selects by Clicking on A Row
        return $(e.target).is("input:checkbox");
        //return(true);
    }

}); 
jQuery(table).jqGrid('navGrid',pager,{del:false,add:false,edit:false,search:false,refresh:true,cloneToTop:true,afterRefresh:function(){}},{},{},{},{}); 
jQuery(table).jqGrid('navButtonAdd', table+ '_toppager_left',{caption:"Add WO", buttonicon:"ui-icon ui-icon-plus",id:"SUBPROJID", onClickButton: function(){},position:"first",title:"Add WO"});

您所做的是在
searchoptions
中设置了
defaultValue
选项,而不是在
editoptions
中。你只需要在那里添加相同的内容。只需尝试更改
status
列的定义,如下所示:

{name:'status', width:100,editable: true,stype:'select',edittype:"select",
resizable:false,searchoptions:{defaultValue:"ACTIVE"},
editoptions:{value:"ACTIVE:ACTIVE;INACTIVE:INACTIVE;DELETED:DELETED",
readonly:false, defaultValue:"ACTIVE"},editrules:{edithidden:false}},
更新:

要调用事件处理程序内部的行,可以执行以下操作:

jQuery(table).jqGrid('navGrid',pager,
  { edit:false,view:false,add:false,del:false,search:false,
    beforeRefresh: function(){
        alert('Here');
        jQuery(table).jqGrid('setGridParam',{datatype:'json'}).trigger('reloadGrid');
    }
  });

最后得到了结果,我只是在reset button函数中添加了triggerToolbar()

jQuery(table).jqGrid('navGrid',pager,{del:false,add:false,edit:false,search:false,refresh:true,cloneToTop:true,afterRefresh:function(){$(table)[0].triggerToolbar();}},{},{},{},{});

现在它工作得很好

我仍然遇到同样的问题…我认为这与重置有关..我们是否应该声明任何函数..???我们可以设置defaultValue:ACTIVE in reset button..?我不这么认为。当
refresh
设置为
true
时,工具栏上会出现一个重置按钮。单击该按钮时,将执行
触发器(“重新加载网格”)
,搜索参数将被清除。如果需要在开始刷新之前执行一些操作,则应在刷新之前使用
回调:
$(“#网格id”).jqGrid('navGrid','gridpager',{
beforefresh:function(){
//此处的一些代码
}
})
否则您应该设置
刷新:false
并使用您自己的自定义按钮。是否要删除状态行中的搜索选项?