保存行而不是恢复数据

时间:2011-08-15 04:49:47

标签: javascript jquery jquery-ui jqgrid grid

我想保存数据,而不是在选择另一行时恢复数据。我怎么能做到这一点?

我一直在测试这段代码而没有任何结果:

    onSelectRow: function(row_id) { 
        if(row_id && row_id !== last_selected) {
            /*
             * Save row.
             */
            $('#grid').jqGrid('saveRow', ((last_selected !== undefined)?last_selected:row_id) , true, function() {/* OnEditFunction */}, function(response) {
                /* SuccessFunction */
                var row_to_save = ((last_selected !== undefined)?last_selected:row_id);

                success_function(row_to_save, response);

                }, 'http://some_url.com');

            last_selected = row_id;
        }   

        /*
         * Edit row.
         */
        $('grid').jqGrid('editRow', row_id, true, function() {/* OnEditFunction */}, function(response) {
            /* SuccessFunction */
            success_function(row_id, response);

            }, 'http://some_url.com'); 
    },

如果能够在成功保存行之前触发成功函数,那可能会很棒,因此我可以显示通知消息。

提前致谢。

1 个答案:

答案 0 :(得分:1)

我认为您遇到了问题,因为您在saveRoweditRow中使用的succesfunc当前实施中存在一个小错误。方法editRow只是将succesfunc参数转发到saveRow,因此您可以在saveRow的文档中找到succesfunc参数的详细说明。您可以阅读以下内容:

  

succesfunc:如果已定义,则在此后立即调用此函数   请求成功。此函数传递从中返回的数据   服务器。取决于来自服务器的数据;这个功能应该   返回true或false。

因此,您至少应包含return true;作为实施succesfunc 的最后陈述。