2011-11-08 4 views
4

私はJEditable jqueryプラグインを使用して自分のウェブページのデータを更新しています。サーバー上のJEditableプラグインを使用してデータを保存した後、コンテナdiv内の古いコンテンツを、挿入されたデータと実際に異なる新しいコンテンツに置き換えます(アプリケーションは保存前にデータを処理し、それ)。JEditableを使用してカスタムレスポンスを設定する

私は同じことを行うために以下のコードを試しましたが、初めて動作しますが、データがコンテナdivに置き換えられた後、編集可能な機能は失われます。

$(".editableComments").editable(function(value, settings) { 
      selectedId = $(this).attr("id"); 
      $.ajax({ 
       url:'ajaxApproveRequests', 
       type:'post', 
       data:{ 
         requestType: "Trans", 
         idList : $(this).attr("id"), 
         comment: value 
        }, 
       success: function(data) { 
        if (data != "Error") 
         { 
          $("#"+selectedId).html(data); 
         } 
       }, 
       error: function(req) { 
        alert("Error in request. Please try again later."); 
       } 
      }); 
     }, 
     { 
      indicator : "Saving...", 
      type : 'textarea', 
      submit : '<input type="button" id="okBtn" value="Ok" onMouseOver="rollOnAutoButton(this)" onMouseOut="rollOffAutoButton(this)" class="autobtn" >', 
      cancel : '<input type="button" id="cancelBtn" value="Cancel" onMouseOver="rollOnAutoButton(this)" onMouseOut="rollOffAutoButton(this)" class="autobtn" >', 
      cssclass : "editableArea", 
      rows: 5, 
      cols: 25, 
      onblur : "ignore" 
     }); 

HTMLコードは次のとおりです。

<div class="editableComments">some data</div> 

どこ私はwronをやっているお勧めしてください?前もって感謝します。

答えて

11

編集可能な関数には、戻り値がである必要があります。あなたはajax関数を持つものを手に入れることはできません。

私は何を私はAjaxの機能を行う一方で、私はそこその間にいくつかの一時的な値を返すことである:あなたの応答のための

$(".editableComments").editable(function(value, settings) { 
     selectedId = $(this).attr("id"); 
     $.ajax({ 
      url:'ajaxApproveRequests', 
      type:'post', 
      data:{ 
        requestType: "Trans", 
        idList : $(this).attr("id"), 
        comment: value 
       }, 
      success: function(data) { 
       if (data != "Error") 
        { 
         $("#"+selectedId).html(data); 
        } 
      }, 
      error: function(req) { 
       alert("Error in request. Please try again later."); 
      } 
     }); 
     return value; //need the return 
    }, ... 
+0

感謝。これを行う方法はありますか? –

+3

@AnkitJaiswal私は私の答えであなたを示しました....それを読んで^ _^ – Neal

+0

それは働いた。どうもありがとう –