2

私はこれを何時間も無駄に理解しようとしてきました。

私は以下を持っています

http://vitalets.github.com/x-editable/docs.html#newrecord

新しいレコードモジュール/コード。その機能は、すべての行にデータがあり、送信されると、編集可能な状態を維持できるようにその値を保持します。

入力を追加し、ajaxリクエストの成功でクリアコードを選択し、.editable関数をajaxComplete関数内に配置して、送信時に要素を再読み込みするかどうかを確認しましたが、しませんでした。デモを見てください。データを入力して送信します。次に、データを「永続的」にして、引き続き編集できるようにします。

ボタンを非表示にするコードを削除しました。

私がやりたいのは、レコードを送信してリセットし、フォームが「空」の状態で別のレコードを送信してデフォルトに戻すことができるようにすることです。

私は機器トラッカーを開発しており、技術者が次々とレコードを入力できるようにしたいと思っています。フォームをリセットするための簡単な修正だと確信しています。私はそれを理解できません。

そのスクリーンキャストビデオを添付しました。

http://www.youtube.com/watch?v=dPDuQCgOOSw

4

2 に答える 2

9

よくある質問なので、ドキュメントにリセットボタンを追加しました。

$('#reset-btn').click(function() {
    $('.myeditable').editable('setValue', null) //clear values
        .editable('option', 'pk', null)         //clear pk
        .removeClass('editable-unsaved');       //remove bold css

    $('#save-btn').show();
    $('#msg').hide();
});

内部値もリセットする必要があるため、.editable('setValue', null)代わりに使用することをお勧めします。 HTH.text('Empty')

于 2012-12-26T15:07:42.237 に答える
0

「新しいユーザーの保存」がどのようにbutton実装されているかを見ると、クラス名を持つアンカータグが選択されているだけです。myeditable

関数を「リセット」ボタンにバインドするか、このスクリプトを使用しますonclick

IF onclick:

jQuery.each($('.myeditable'),function() { 
    $(this).text('Empty') ; //this is your default text
});

OR as a function

function reset_myeditable()
{
    jQuery.each($('.myeditable'),function() { 
        $(this).text('Empty') ; //this is your default text
    });
}

onclickそしてこれをあなたのボタンのハンドラーに取り付けresetますこれはあなたが「リセット」ボタンを置くことになると思います

編集

ズームインして$('#save-btn').click(function() success handler

    success: function(data, config) {
    if(data && data.id) {  //record created, response like {"id": 2}

    $(this).editable('option', 'pk', data.id);
    //remove unsaved class
    $(this).removeClass('editable-unsaved');
    //show messages
    var msg = 'New user created! Now editables submit individually.';
    $('#msg').addClass('alert-success').removeClass('alert-error').html(msg).show();
    $('#save-btn').hide(); 
    $(this).off('save.newuser'); 

/**this the edited part**/
  jQuery.each($('.myeditable'),function() { 
     $(this).text('Empty') ; //this is your default text
  });
/**end of edit**/      

} else if(data && data.errors){ 
           //server-side validation error, response like {"errors": {"username": "username already exist"} }
           config.error.call(this, data.errors);
       }               
   },
于 2012-12-26T06:51:54.533 に答える