2013-05-02 32 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

相關問題