隐藏表格单元格,直到选中复选框

时间:2011-09-05 09:04:51

标签: jquery html-table

使用jQuery,我希望隐藏一个表格单元格,直到单击一个复选框,如果再次单击该复选框,则会消失。我是jQuery的新手,想知道是否有人可以指出我正确的方向。

我现在的代码:

HTML

<tr>
    <td class="column1">Get Files:</td><td class="column2"><input type=checkbox     
    name="getfiles"></td>
</tr>
<tr>
    <td class="column1"></td><td class="hidden"><i>The size of the files attached will
    be: *0*</i></td>
</tr>

JQUERY

$('#hidden').hide();
$('#getfiles').click(function() {
    if($('#getfiles').is(':checked'))
    {
        $('#hidden').show();
    }
    else
    {
        $('#hidden').hide();
    }   
});

1 个答案:

答案 0 :(得分:6)

注意1:您的复选框没有ID getfiles 只是一个名称 - 它不一样。

注意2:一般来说隐藏表的 td 元素通常不是一个好主意 - 在大多数浏览器中会触发奇怪的渲染。不要触摸td,而是将要隐藏的内容包装在另一个块中(它可以是 div 或其他任何内容):

<table>
<tr>
    <td class="column1">Get Files:</td><td class="column2"><input type=checkbox     
    id="getfiles" name="getfiles"></td>
</tr>
<tr>
    <td class="column1"></td><td><div id="hidden"><i>The size of the files attached will
    be: *0*</i></div></td>
</tr>
</table>

然后这段代码应该有效:

$('#hidden').hide();
$('#getfiles').click(function() {
    if(this.checked) {
        $('#hidden').show();
    } else {
        $('#hidden').hide();
    }   
});