选中所有勾选时不显示HTML复选框

时间:2013-08-31 16:00:49

标签: jquery html checkbox

<table class="list" id="example">
    <thead>
        <tr>
            <td class="first" width="1" style="text-align: center;"><input type="checkbox" onclick="$('input[name*=\'selected\']').attr('checked', this.checked);"></td>
            <td class="left">
                Username
            </td>
            <td class="left">
                Status
            </td>
            <td class="left">
                Date Added
            </td>
            <td class="right">
                Action
            </td>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td style="text-align: center;"><input type="checkbox" name="selected[]" value="2">
            </td>
            <td class="left">testing</td>
            <td class="left">Enabled</td>
            <td class="left">31/08/2013</td>
            <td class="right"> [ <a href="">Edit</a> ]</td>
        </tr>
        <tr>
            <td style="text-align: center;"><input type="checkbox" name="selected[]" value="1">
            </td>
            <td class="left">admin</td>
            <td class="left">Enabled</td>
            <td class="left">31/03/2013</td>
            <td class="right">[ <a href="">Edit</a> ]</td>
        </tr>
    </tbody>
</table>

我有一个复选框,当点击将选中所有其他复选框时,第一次单击全选,其他复选框将勾选显示勾选。但是当取消选中全选并再次选中时,其他复选框没有显示勾选,但是当查看源代码检查=“已检查”时显示

1 个答案:

答案 0 :(得分:4)

这并不是很明显,但原始代码嵌入在上面的标记中。

请注意使用$(…)

<input type="checkbox" onclick="$('input[name*=\'selected\']').attr('checked', this.checked);">

变化:

.attr('checked', this.checked);

为:

.prop('checked', this.checked);

Demo

有关详细信息,请参阅$.prop - Attributed vs Properties

具体做法是:

  

...要记住关于checked属性的最重要的概念是它与checked属性不对应。该属性实际上对应于defaultChecked属性,应仅用于设置复选框的初始值。 checked属性值不会随复选框的状态而改变,而checked属性则会改变。