0

我正在使用 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>
4

1 回答 1

0

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

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

将其添加到您的 .editable 并让 POST 操作返回您想要显示的文本。(value是post的返回值)

于 2013-05-22T18:23:34.233 回答