0

Jeditable を使用してテーブルの行を編集しています。私の問題は、変更された値を送信 (およびデータベースに保存) した後、ページに戻ると、編集された行の代わりにページ全体が表示されることです。表の外にも表示しています。

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

データベースの値を変更row11して更新したとします。これで、テーブル全体が 2 回表示されます。1回目はテーブルの下row11、2回目はテーブルの外。なぜそれが起こっているのかわかりません。

以下は、値の送信などに使用しているスクリプトです。

<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 に答える