【问题标题】:jQuery uncheck checkbox if disabled如果禁用,jQuery 取消选中复选框
【发布时间】: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 条件,它再次检查复选框。所以页面加载后,需要检查是否有任何复选框被禁用并选中,使其未选中

标签: jquery checkbox


【解决方案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 和你的结合起来就好了
  • 它还取消选中已启用的复选框(复选框具有相同的值)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多