0

リモートページ(同じドメインの下)から現在のページに要素をロードする次のコードがあります。要素#Beijingにはドロップダウンメニューが含まれています。ロードされた後、select構文でメニューに値を追加したいと思います。追加したい値は次のとおりです。

onChange ="this.form['CAT_Custom_221342']。value=this [this.selectedIndex] .value"

これが私が持っているコードです、それをさらに編集するのを手伝ってください、ありがとう。

function StateBeijingNext() { 
$('#SuburbSelect').load('/Country/CN/_CN_suburbs.html #Beijing');   
}
4

2 に答える 2

1

.load()ロードされた後にロードしている要素にアクセスできるようにするコールバック関数を受け入れます。以下を参照してください。

function StateBeijingNext() { 
    $('#SuburbSelect').load('/Country/CN/_CN_suburbs.html #Beijing', function(){
      //the element has been successfully loaded into the DOM.
      //peform your custom logic against the #Beijing element here.
    });   
}
于 2012-08-30T07:32:11.333 に答える
1

javascriptイベントハンドラーをhtmlに挿入する必要はありません。これは、デバッグ時に論理的に追跡するのが難しく、コンテンツと機能を明確に分離していないため、スタイルが貧弱です。jQueryを使用しているので、そのイベントバインディング機能を活用します。

$('#SuburbSelect').on('change', '#Beijing', function() {
    this.form['CAT_Custom_221342'].value = this[this.selectedIndex].value;
});

DOMの準備ができたらすぐにこのイベントハンドラーをバインドできます。新しいコンテンツが挿入されると、変更ハンドラーは期待どおりに機能します。

于 2012-08-30T07:34:07.917 に答える