-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 回答