如果禁用,jQuery 取消选中复选框

Posted

技术标签:

【中文标题】如果禁用,jQuery 取消选中复选框【英文标题】:jQuery uncheck checkbox if disabled 【发布时间】:2015-06-24 09:24:56 【问题描述】:
<tr>
    <td>
        <input type="checkbox" value="14292" name="chec_emp[]" class="chec_emp">
    </td>
    <td>Test User One</td>
    <td>Autobot</td>
    <td>Shadow</td>
    <td>50</td>
</tr>

<tr>
    <td>
        <input type="checkbox" value="14293" name="chec_emp[]" class="chec_emp">
    </td>
    <td>Test User One</td>
    <td>Autobot</td>
    <td>Billed</td>
    <td>50</td>
</tr>

<tr>
    <td>
        <input type="checkbox" value="14292" name="chec_emp[]" class="chec_emp">
    </td>
    <td>Test User Two</td>
    <td>Autobot</td>
    <td>Billed</td>
    <td>50</td>
</tr>

要禁用具有重复值的复选框,请使用以下代码

$('.chec_emp').each(function()
    if ($(this).is(':enabled')) 
        $('.chec_emp[value="'+$(this).val()+'"]').not(this).prop('disabled', 'disabled');
    
);

但是下面的 php 条件使它被检查,因为它属于定义的条件

$class= "checked='checked'" ;
<input type="checkbox" class="chec_emp" <?php echo $class ;?> name="chec_emp[]" value="<?php echo $res_row['USERID']?>" />

禁用的checkbox 仍然是checked。如何uncheck禁用的复选框?

【问题讨论】:

在这里工作正常jsfiddle.net/refckjxe 在快速测试小提琴中也可以正常工作。 @请查看更新后的问题。它在页面加载时工作的 php 条件,它再次检查复选框。所以页面加载后,需要检查是否有任何复选框被禁用并选中,使其未选中 【参考方案1】:

复选框已选中该属性。所以你需要处理这个(我猜如果它被禁用,你想取消选中该复选框?)。参见例如这里的帖子: check / uncheck checkbox using jquery?

编辑: 像

$('.chec_emp').each(function()
if ($(this).is(':enabled')) 
    $('.chec_emp[value="'+$(this).val()+'"]').not(this).prop('disabled', 'disabled').prop('checked', false);

);

【讨论】:

Ben:如果你能把上面的 sn-p 和你的结合起来就好了 它还取消选中已启用的复选框(复选框具有相同的值)

以上是关于如果禁用,jQuery 取消选中复选框的主要内容,如果未能解决你的问题,请参考以下文章

如果选中/取消选中复选框,则启用/禁用提交按钮?

取消选中 jquery 中具有相同类名的复选框不起作用

如果在 Jquery 加载页面时在网格中禁用了所有复选框,则如果没有选中复选框并禁用按钮,则发出警报

如果在 jquery 和 codeigniter 中检查和取消选中复选框的其他条件

jQuery 选中/取消选中事件

如果复选框选中禁用其他,如果未选中启用所有 JavaScript?