6

私は razor-mvc Web といくつかの選択をフォームに持っています。この選択を次のように jquery の select2 プラグインにバインドします。

$('select.company_select, select.positions_select').select2();

そして、私のフォームは ajax フォームです (Ajax.BeginForm ではなく、javascript による ajax)。問題は、フォームを送信するときに、最初のフォームの送信された値を持つ別のフォームを追加することですが、その新しいフォームの選択は select2 プラグインを適用しません。新しいアイテムは .on() または .live() でバインドする必要があるため、これは正常であることはわかっていますが、その方法がわかりません。

手伝ってもらえますか?

4

2 に答える 2

2

ajaxcompleteを使用する

$( document ).ajaxComplete(function(){
  $(".select2").select2();
});
于 2014-09-22T07:29:20.970 に答える
1

あなたはajax呼び出しを行っているので、ページ上の新しい選択ボックスに対して完全に必要な他の選択で選択を再初期化してください..

あなたのajax呼び出しは次のようになります

$.ajax({ 
     url: '.../', 
     data..., 
     type...,
     success: function(data) 
     {
         $('#newFormAddedID select').select2();
     }

トリックを行う必要があります.. complete:function(... ajax呼び出しが成功したかどうかに関係なくフォームが追加された場合は、それを行うこともできます.

于 2014-02-19T11:16:30.077 に答える