2016-11-09 10 views
0

が、私はその部分図の部分図Ajax.BeginForm - PartialViewから新しいDOMオブジェクトにアクセスするには?

<div id="_customerForm"> 
      @Html.Partial("~/Views/Customer/_customerForm.cshtml", Model.customerForm) 
</div> 

をロードされ、div要素を以下している私はAjaxのフォーム

@using (Ajax.BeginForm("UpdateCustomer", 
     "Customer", 
     new AjaxOptions() 
     { 
       HttpMethod = "POST", 
       InsertionMode = InsertionMode.Replace, 
       UpdateTargetId = "_customerForm", 
     } 
)) 
{ 
... 
} 

を持っていると私はAjaxのフォームを送信すると、Ajaxのフォームを含む部分図、

私が直面している問題は、フォームが更新されるまで、そのフォームの入力の1つにjqueryイベントが添付されていることです。例えば#CustomerAddressList DOM上

$("#CustomerAddressList").change(function() { ... }); 

変更イベントは、新しいPartialViewモデルによってリフレッシュさ#CustomerAddressList、任意のアイデアまで動作しますか?

+1

1つのオプションは、あなたのjQueryの( "変更"、 "#CustomerAddresslist"、機能(){})に' $のようなもの( "体")への結合を変化させることです。これにより、要素が削除されて再作成されても、バインディングによって変更が反映されます。あなたは '' body "をより具体的なセレクタと要素の親に置き換えることもできます。 – Bwolfing

答えて

1

使用

$(document).on("change", "#CustomerAddressList", function(){ 
... 
}); 

または

$("body").on("change", "#CustomerAddressList", function(){ 
... 
}); 

リスナーはページ上の永続的である要素にバインドされているのでアイテムれたセレクタの参照は動的なコンテンツであれば、それは問題ではありません。か否か。 `;。

.on documentation.

+0

' document'は動作しませんが 'body'はあります、ありがとう! – Muflix

+1

修正済みの文書ではスピーチマークは必要ありません。喜んで役立ちます。具体的にパフォーマンスを向上させることはできますが、本文と文書は常に機能します –

関連する問題