2012-02-24 3 views
0

私のページに問題があります。divには値0と2の2つの非表示フィールドがあります。私はajaxクエリをトリガーするボタンを持っていますdivの内容は同じ隠しフィールドを持ちますが、値はそれぞれ1と2です。問題は、私のjavascript(JQueryを使用)がこれらの変更を認識していないように思えることです。私は値が変更されているが、スクリプトの中で、私がやっているときに表示HTMLソースコードを見て、私のページを検査する場合:JQuery AjaxがDOMを更新していない

$("#btn").click(function() { 
    alert($("#hidden1").val()); 
    alert($("#hidden2").val()); 
}); 

は、それはまだ私の古い値(0と2)DOMかのように表示し更新されていません。誰かが私に助けてくれますか、それが正常であり、それを修正する方法を教えてください。

ありがとうございました 私!

+0

フィールドを変更するコードを追加できます – ggreiner

+0

変更するコードはどこですか? – James

+0

ここで、hidden1とhidden2の値を変更していますか? –

答えて

1

これを試してください:あなたのjQueryのイベントは()時間.clickで特定の要素にバインドされていると呼ばれているので

$("#btn").on('click', function() { 
    alert($("#hidden1").val()); 
    alert($("#hidden2").val()); 
}); 
+0

'.live() ? '.live()'はセレクタにバインドされていることを保証します。 – kontur

+0

'.live()'も非推奨になりました..? –

+0

はい、廃止されました。 –

0

それはDOMが更新されていないことはありませんが、それはおそらくです。 DOMが変更されたため(同じIDの新しい要素を削除して追加した可能性があります)、この関数は破棄した要素の値を返します(DOMから削除されてもバインドされているため)。

click()ハンドラの代わりにlive()メソッドまたはon()を使用してください。 jQueryによって提供されるこのメソッドは、呼び出された時点で特定のDOM要素にバインドされませんが、クリックが検出されるたびに動的な参照を行います。

+0

実際には2つは関連していません。私のdivは特定の時に更新されますボタンのクリックに関連していないイベントです。変更が完了したら手動でクリックします。なぜそれが更新されないのですか? – maniak

+0

これを試しましたが、どちらも動作しません。 – maniak

+0

ボタンは置き換えられませんか? – Kekoa

関連する問題