2012-12-27 255 views
1

我有一个允许内联编辑的网格。这是我ONSELECT处理它:jqGrid使用successfunc进行内联编辑

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; 
      } 
     } 

    }); 

你可以看到,我有一个触发关闭和运行saveRow的TR的改变事件。这工作正常,不使用successfunc或如果我只是在successfunc返回true。我想弄清楚如何在successfunc中使用来自服务器的响应。我需要在我的editurl页面上进行额外的检查。我不确定我需要从该页面发回什么内容。我可以在该页面上完成所有工作,并发送一个true或false,但它不起作用。我现在有警报,它只显示[对象对象]。

我也试着发送回JSON和解析它,但我不能让它工作。

对此的任何帮助将是伟大的。

谢谢!

回答

2

请尝试 alert(response.responseText);

+0

工作。很简单。谢谢! – Sequenzia