0

在 jquery 中,如果用户选择特定选项,我会尝试创建一个新的表标题 - 在本例中为“其他”。但是,下面的代码什么也没做——有什么见解吗?(JS/Jquery 的新手)。

注意: select 元素也通过 jquery 附加到模板(如果用户选中一个框)。

    <th>Did you graduate?</th>


</tr>
<tr id="college_info">

    <td><input class="id_checkbox" type="checkbox" id="college_grad" name="college_grad" value="yes">yes</input>
        </td>

</tr>   
<script>
    $( "#college_grad" ).one("click", function() {
        $( "#college_info" ).hide().append("<td><select id='college_degreeName'class='degree_name'><option value='bachelors'>Bachelors</option> <option class='id_otherOption' value='other'>Other</option></select></td>").show("slow");
    });

    $( "#college_degreeName").one("click", function() {
    if ( $( "#table_headings .college_degreeName" ).value =='other'){
    $( "#table_headings" ).append("<th id=other_degreeName'>Name of Degree/Certificate</th>");
    }
    });

</script>
4

1 回答 1

2

直接事件处理不适用于动态添加的元素。您应该使用实时或委托事件处理。

 $( "#table_headings").on("click","#college_degreeName", function() {
        if ( $(this).val() === 'other'){
        $( "#table_headings" ).append("<th id=other_degreeName'>Name of Degree/Certificate</th>");
        }
    });
于 2013-04-06T02:44:17.257 回答