-1

以下は私のコードです.htm()メソッドから「コースタイプ」IDにアクセスしたいそのIDにアクセスする方法

 $("#question-type").html("<option>Select</option><option>Excel Sheet</option><option>One by One</option>");

$("#question-type").change(function(){
    $("#course").html("<label>Select course </label><select id='course-type'><option>Course 1</option><option>Course 2</option><option>Course 3</option></select>");
});

$("#course-type").change(function(){

    $("#subject").html("<label>Select subject </label><select id='subject-type'><option>Subject 1</option><option>Subject 2</option><option>Subject 3</option></select>");
});
4

3 に答える 3

3

これを試して。

DOMにコースタイプの選択リストを追加する場合は、そのときに変更イベントハンドラーを作成します。

$("#question-type").change(function(){
    $("#course").html("<label>Select course </label><select id='course-type'><option>Course 1</option><option>Course 2</option><option>Course 3</option></select>");
    $("#course-type").change(function(){
          $("#subject").html("<label>Select subject </label><select id='subject-type'><option>Subject 1</option><option>Subject 2</option><option>Subject 3</option></select>");
    });
});
于 2012-07-18T05:42:58.010 に答える
2

まだDOMに追加されていない場合は、アクセスできません。#question-typeの変更関数が実行されるまで作成されないため、存在する前にアクセスしようとしている可能性があります。

于 2012-07-18T05:42:47.583 に答える
1

まだDOMにない要素のイベントにハンドラーをバインドするには、次を使用します.on()

$("#course").on("change", "#course-type", function(){
    $("#subject").html("<label>Select subject </label><select id='subject-type'><option>Subject 1</option><option>Subject 2</option><option>Subject 3</option></select>");
});

このメソッドを使用すると、question-type変更のたびにイベントに再バインドされないという利点があります。単一のハンドラーを親要素()にバインドし、変更イベントが存在する場合#courseは要素からバブルアップするのを待ちます。#course-type

于 2012-07-18T05:52:38.327 に答える