<table class='generic'>
<script>
$('#select_bh').click(
function(){
if($('#select_bh')[0].checked){
$('#hide_box_bh_s').show();
}
else{
$('#hide_box_bh_s').hide();
}
}
);
</script>
<tr>
<td>
<b><input type="checkbox" id="select_bh" name="pj_boilerhouse" value="Boiler_House"/>Boiler House</b>
</td>
</tr>
<tr>
<td>
<span id='hide_box_bh_s' style='display:none'>
<b><input type="checkbox" class="case_bh_s" name="pj_bh_s" value="Structural"/> Structural</b>
</span>
</td>
</tr>
</table>
JavaScript中的节目显示/隐藏功能不正常..有些建议请问,有些怎么样,当我选中复选框时,它会在现有行下面有一个新行
答案 0 :(得分:1)
您应该将代码放在文档就绪处理程序中,您的代码不起作用,因为您已将事件处理程序绑定到尚未添加到DOM的元素。在完全加载DOM之后执行就绪处理程序内的代码。另请注意, Java 不是 JavaScript 。
$(document).ready(function(){
$('#select_bh').click(function(){
$('#hide_box_bh_s').css('display', this.checked ? 'block' : 'none');
});
})
我使用了条件运算符这是if
语句的快捷方式,如果选中该复选框,它会将display
属性的值设置为block
否则它将其设置为none
。
答案 1 :(得分:1)
它在这里工作,你可以看到代码http://jsfiddle.net/damian_silvera/9ym5Y/