javascript - jqGrid - 多次添加导航栏中的自定义按钮

标签 javascript jquery jqgrid

我在导航栏上添加了一个自定义按钮:

function myFunc(){
$("#grid").jqGrid({ 
    datatype: 'json',
    url: 'arquivo.jsp',
    jsonReader: {repeatitems: false, root: 'root'},
    pager: '#paginado',
    rowNum: 10,
    autoencode: true,
    rowList: [10,20,30],        
    emptyrecords: "Não há registros.",
    recordtext: "Registros {0} - {1} de {2}",
    loadtext: "Carregando...",
    pgtext: "Página {0} de {1}",
    height: 250,
    width: 700,
    colNames:['Código','Nome', 'Ativo', 'Data Inclusão','Login','Senha','Confirma Senha','Email','Grupos'],
    colModel:[                                    
        {name:'codigo', width:80, sorttype:"int", editable: true, editrules: { edithidden: true }},
        {name:'nome', width:120, editable: true, editrules:{required:true}},
        {name:'ativo', width:80, gridview: true, editable: true, edittype:'select', editoptions:{value:{1:'Sim',2:'Não'}}, editrules:{required:true}},     
        {name:'dataInclusao', width:120, sorttype:"date", datefmt: 'd/M/Y', editable: true, editrules:{required:true, date:true}, editoptions: { dataInit: function(el) { setTimeout(function() { $(el).datepicker({ dateFormat: 'dd/mm/yy' }).val(); }, 200); }}},
        {name:'login', width:80, sortable:true, editable: true, editrules:{required:true}},  
        {name:'senha', width:80, sortable:true, editable: true, hidden:true, edittype:'password', editrules:{edithidden:true, required:true, custom:true, custom_func:validaSenha}},
        {name:'confirmaSenha', width:80, sortable:true, editable: true, hidden:true, edittype:'password', editrules:{edithidden:true, required:true}},
        {name:'email', width:150, sortable:true, editable: true, editrules:{required:true, email:true}} 
    ],
    multiselect: true,
    viewrecords: true,    
    editurl:"data?edit=true",
    caption: "Usuários"}
);              
$("#grid").jqGrid('navGrid','#paginado',{},
    {edit:true,url:"teste?acao=edit",closeAfterEdit:true,reloadAfterSubmit:true, 
        beforeShowForm: function(form) {                
            $('#tr_codigo', form).hide(); 
        }, 
        onClickSubmit: function(params, postdata) {
            validaSenha();
        }
    },
    {add:true,url:"teste?acao=teste",closeAfterAdd:true,reloadAfterSubmit:true, 
        beforeShowForm: function(form) { 
            $('#tr_codigo', form).hide(); 
        }, 
        onClickSubmit: function(params, postdata) {
            validaSenha();
        }
    },
    {del:true,reloadAfterSubmit:true, 
        onclickSubmit: function(url, postdata){
            url.url = 'teste?acao=del';
            return {codigo: $('#grid').getCell(postdata, 'codigo')};
        }
    },
    {search:true},
    {refresh:true}
).navButtonAdd('#paginado',{
    caption:"", 
    buttonicon:"ui-icon-suitcase", 
    onClickButton: function(){ 
        var dados = $("#grid").jqGrid('getGridParam','selrow');         
    }, 
    position:"last"
}); 

};

但每次我单击显示网格的页面时,都会添加一个新按钮,如下图所示:

enter image description here

我不知道我的.jsp是否会带来这个问题,但我绝对找不到问题出在哪里。希望大家能够帮助我

提前致谢,

卢卡斯。

最佳答案

我使用 $('#grid').jqGrid('GridUnload'); 解决了问题

关于javascript - jqGrid - 多次添加导航栏中的自定义按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20351977/

相关文章:

javascript - 检测是否从值中选择了特定选项

javascript - jquery DataTables.net 插件 : how to ignore specific rows when sorting

javascript - 如果禁用客户端 javascript,像 AngularJs、KnockJs 这样的 javascript 库/框架是否可以工作?

javascript - 使用ajax服务器端数据表动态创建不同的按钮

jquery - 固定卡住列的行高jqgrid 4.6

javascript - jQuery - 当我单击加号按钮时,产品数量不会改变

javascript - Vue.js vue-video-player 渲染 100px 宽

javascript - 设置变量对象键

drag-and-drop - 一次性重新排序 1000 行的最佳方法是什么

javascript - 为什么悬停不能处理 jqgrid 中的彩色行