使用successfunc进行jqGrid内联编辑

时间:2012-12-27 16:25:25

标签: javascript jquery jqgrid

我有一个允许内联编辑的网格。这是我处理它的onselect:

onSelectRow: function(id)
        {

            $('tr[id="'+id+'"]').change(function () {

                saveparameters = {
                    "successfunc" : function(response) {

                        alert(response)

                    },
                    "url" : null,
                    "extraparam" : {},
                    "aftersavefunc" : null,
                    "errorfunc": null,
                    "afterrestorefunc" : null,
                    "restoreAfterError" : true,
                    "mtype" : "POST"
                }

                $('#breakdownGrid').jqGrid('saveRow', id, saveparameters);

            });

            if(id && id!==lastsel)
            {

                editparameters = {
                    "keys" : false,
                    "oneditfunc" : null,
                    "successfunc" : null,
                    "url" : null,
                    "extraparam" : {},
                    "aftersavefunc" : null,
                    "errorfunc": null,
                    "afterrestorefunc" : null,
                    "restoreAfterError" : true,
                    "mtype" : "POST"

                }

                $('#breakdownGrid').jqGrid('restoreRow',lastsel);
                $('#breakdownGrid').jqGrid('editRow',id, editparameters); lastsel=id;
            }
        }

    });

你可以看到我在tr上发生了一个更改事件并且运行saveRow。这可以正常工作而不使用successfunc或者我只是在successfunc中返回true。我试图找出如何在successfunc中使用服务器的响应。我需要对我的editurl页面进行额外的检查。我不确定我需要从该页面发送回来的内容。我可以在该页面上完成所有工作并发送回真假,但它不起作用。我现在有警报,只显示[对象]。

我也尝试过发回JSON并解析它,但我无法让它工作。

对此的任何帮助都会很棒。

谢谢!

1 个答案:

答案 0 :(得分:2)

请尝试 警报(response.responseText);