可编辑显示整页以代替编辑行

时间:2013-05-02 21:00:58

标签: jquery struts2 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>

1 个答案:

答案 0 :(得分:0)

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

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

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