2013-05-02 56 views
0

我正在使用Jeditable来编辑表格行。我的问题是,在我提交更改后的值(并将其存储在数据库中)后,当我返回页面时,它会显示整个页面以代替编辑的行。它也显示在桌子外面。Jeditable显示整个页面代替编辑的行

-------table-------------- 
row11 row12 
row21 row22 
-------------------------- 

假设我更改了row11并更新了数据库中的值。现在整个表格显示两次。首先在row11之下,第二次在桌外。我无法弄清楚为什么会这样。

下面是我使用的用于发送值的脚本,和其他的东西:

<script type="text/javascript"> 
$(document).ready(function() { 
     $('.edit').editable('', { 
      indicator : 'Saving...', 
      tooltip : 'Click to edit...' 
     }); 
     $('.edit_area').editable('http://localhost:8080/Interceptors_Struts2_Ant/parameters.action', { 
     type  : 'textarea', 
     cancel : 'Cancel', 

     submit : 'OK', 
     indicator : '<img src="img/indicator.gif">', 
     submitdata : function() { 
      var id2 = '${param.city}'; 
      return {city: id2, tableid: $(this).closest('table').attr('id'), 
      rowid: $(this).parent().index()}}, 
      tooltip : 'Click to edit....', 
      name : 'newvalue' 
     }); 
    }); 
    </script> 
+0

没有人回应...每个人都很忙? – 2013-05-03 02:17:51

+0

这与struts2有什么关系?从某种意义上说,您需要了解它的任何信息才能解决问题? – Quaternion 2013-05-03 04:28:07

回答

0

这是因为现在正在显示您的submitdata返回值,其中编辑元素。 为了避免这种情况,但仍保留功能,我所做的就是使用回调。

callback: function(value, settings) { 
     $(this).text(value); 
    } 

它添加到您的.editable 并有POST操作返回所需显示的文本。 (价值是帖子的返回值)

+0

我也这么做了......但是没有发生任何事情...... – 2013-05-23 15:47:12

+0

您是否确定您的发布操作仅返回row11值而不是整个表格? – 2013-05-24 13:46:46

+0

我想这就是我做错了....现在我正在重新加载整个页面的回调函数,并从数据库中获取整个值....所以它解决了我的问题....但是,你是正确....我应该确保它只返回新值...感谢指出它... – 2013-05-25 21:51:35