我正在使用JEditable
jquery插件来更新我的网页上的一些数据.通过服务器上的JEditable插件保存数据之后,我想用新的内容替换容器div中的旧内容,实际上与插入的数据不同(应用程序在保存之前处理了数据并添加了一些更多信息.它).
我已经尝试过以下代码来做同样的事情,它第一次工作但是一旦在容器div中替换了数据,就会丢失可编辑的功能.
$(".editableComments").editable( function(value,settings) { selectedId = $(this).attr("id"); $.ajax({ url:'ajaxApproveRequests',type:'post',data:{ requestType: "Trans",idList : $(this).attr("id"),comment: value },success: function(data) { if (data != "Error") { $("#"+selectedId).html(data); } },error: function(req) { alert("Error in request. Please try again later."); } }); },{ indicator : "Saving...",type : 'textarea',submit : '<input type="button" id="okBtn" value="Ok" onMouSEOver="rollOnAutoButton(this)" onMouSEOut="rollOffAutoButton(this)" class="autobtn" >',cancel : '<input type="button" id="cancelBtn" value="Cancel" onMouSEOver="rollOnAutoButton(this)" onMouSEOut="rollOffAutoButton(this)" class="autobtn" >',cssclass : "editableArea",rows: 5,cols: 25,onblur : "ignore" });
HTML代码是:
<div class="editableComments">some data</div>
请告诉我在哪里做wron?提前致谢.
解决方法
可编辑的函数需要返回值.你不能得到一个具有ajax功能的人.
我做的是在我做ajax功能的同时在那里返回一些临时值:
$(".editableComments").editable( function(value,settings) { selectedId = $(this).attr("id"); $.ajax({ url:'ajaxApproveRequests',data:{ requestType: "Trans",comment: value },success: function(data) { if (data != "Error") { $("#"+selectedId).html(data); } },error: function(req) { alert("Error in request. Please try again later."); } }); return value; //need the return },...