javascript - 保存回调函数后的jQgrid

标签 javascript jquery jqgrid

我创建了一个 jQgrid 并希望它在添加新行或在网格中编辑某些内容时调用回调函数

jQuery("#list1").jqGrid({
        url: '/testGrid/sample?q=5', 
        datatype: "json", 
        mtype: 'POST',
        jsonReader: {
            page: "page",
            total: "total",
            root: "rows",
            records: "records",
            repeatitems: false,
            cell: "name",
            userdata: 'userdata'
        },
        width: 775,
          colNames: ['Salaried Employees', '# of FTEs', 'Budget', 'Actuals to Date', 'Invoice Salary'],
          colModel: [
            {name:'salEmp',index:'salEmp', width:100, align: 'left', width:100,editable:false,editrules:{required:true}},
            {name:'FTE',index:'FTE', width:100, align: 'center', editable:false,required:true,editrules:{required:true,number:true}},
            {name:'Budget',index:'Budget', width:100, align: 'right', width:100,editable:false,required:true,editrules:{required:true,number:true}},
            {name:'actDate',index:'actDate', width:100, align: 'right', align:"right",editable:false,required:true,editrules:{required:true,number:true}},
            {name:'invSal',index:'invSal', width:100, align:"right",editable:true,required:true,editrules:{required:true,number:true}}                                        
           ],
            rowNum: 5,
            rowList: [5, 10, 20],
            autoencode: true,
            ignoreCase: true,
            sortable: false,
            height: '100%',
            pager: jQuery('#pager1'),
            cellEdit: false,
            cellsubmit: 'remote',
            //cellurl: '/testGrid/sample',

            //call onclick of save
            editurl:"/testGrid/sample",
            gridview: true,
            reloadAfterSubmit:true
        })
        // Pager options for Subgrid
        .navGrid('#pager1',{
            add:false,
            edit:false,
            del:true,
            search:false,
            refresh:false,
            deltext: 'Delete'
        });
$('#list1').jqGrid('inlineNav','#pager1',{
            addtext: "Add",
            edittext: "Edit",
            savetext: "Save",
            canceltext: "Cancel",                       
            addParams: { 
                position: "afterSelected"
            },
            addedrow:'last'

        });

最佳答案

inlineNav 允许指定 editRow 的回调用于内联编辑。要指定回调,可以使用 editParamsaddParams.addRowParams 选项:

var myEditOptions = {
        keys: true,
        oneditfunc: function (rowid) {
            alert("row with rowid=" + rowid + " is editing.");
        },
        aftersavefunc: function (rowid, response, options) {
            alert("row with rowid=" + rowid + " is successfuly modified.");
        }
    };

$('#list1').jqGrid('inlineNav','#pager1', {
    addtext: "Add",
    edittext: "Edit",
    savetext: "Save",
    canceltext: "Cancel",                       
    addParams: { 
        position: "afterSelected",
        addRowParams: myEditOptions
    },
    addedrow: "last",
    editParams: myEditOptions
});

关于javascript - 保存回调函数后的jQgrid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14317847/

相关文章:

jquery - 在 opencart 中 header 部分的愿望 list 链接中包裹跨度

javascript - 如何用匿名函数解除文档按键事件的绑定(bind)

javascript - 如何使用 React Native JS 将一个页面重定向到另一个页面

javascript - Jest : How to mock a promise on the same file for resolve and reject options?

javascript - 检查 Array javascript 中的所有对象值是否有 boolean false

javascript - JQuery Validator- 特定于规则的 errorPlacement

javascript - 如何在使用 ngBindHtml 绑定(bind) View 时缩短 html 字符串的内容文本

jqgrid - jqGrid可以支持拖放带有本地数据的行吗?

jquery - 在发送之前如何确定 jqGrid 正在发送到服务器的内容?

jquery - jqGrid - 在加载时按降序对网格进行排序