1

jQueryLoadEventを使用して選択ボックスを動的にロードするWebページがあります

jQuery('#opt_test').load('getextra.php?query=ls&id=2').change();

別の選択ボックスは、変更イベントにバインドされているこのボックスのデータによって異なります。

jQuery('#opt_test').change(function () {
    var test = jQuery('#opt_test').val();
    alert ('var');
    jQuery('#opt_host').load('getextra.php?query=ls&id=4&master=' + test );
})

2つの問題があります。上記のロードイベントを使用して、#opt_testの変更イベントを発生させることができないようです。

この問題を回避するためにコードの一部を手動で複製すると、選択の値を表示するアラートがロードが完了する前であることがわかり、古い値が表示されます。

ロードが完了した後にこのイベントをトリガーするにはどうすればよいですか?

4

1 に答える 1

0

.load非同期呼び出しの完了時に呼び出されるコールバック関数を設定できます。それ以外の場合は、.change前に実行できます(おそらく実行します)。への変更:

jQuery("#opt_test").load('url', function () {
   $("#opt_test").change();
});
于 2012-12-11T13:32:39.253 に答える