显示/隐藏不起作用

时间:2012-09-04 01:57:48

标签: javascript jquery

<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'>
            &nbsp;&nbsp;<b><input type="checkbox" class="case_bh_s" name="pj_bh_s" value="Structural"/> Structural</b>
        </span>
    </td>
</tr>
</table>

JavaScript中的节目显示/隐藏功能不正常..有些建议请问,有些怎么样,当我选中复选框时,它会在现有行下面有一个新行

2 个答案:

答案 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/