javascript - jQuery if else 语句不重置原始复选框状态

标签 javascript jquery if-statement checkbox

抱歉,这个问题的措辞很难!

看看这个 fiddle ,看看我想要实现什么,http://jsfiddle.net/SzQwh/ 但基本上,当用户选中复选框时,他需要将它们设置为 45,然后其他复选框将被禁用。

我遇到的问题是,如果您选择一个 30 学分复选框和一个 15 学分复选框,然后取消选择 15 学分复选框,则其余复选框仍保持禁用状态。

如果您使用 fiddle ,所有其他实例都可以完美运行。

抱歉,如果这真的很明显,但我只是无法理解出了什么问题

var points = 30;
var maxPoints = 45; 
var sum = 0;

    $(':checkbox').click(function() {
        sum = 0;
        $(':checkbox:checked').each(function(idx, elm) {
            sum += parseInt(elm.value, 10);
        });
        $('#total_credits').html(sum);  

        if (sum >= maxPoints) {
            $(':checkbox').not(':checked').attr('disabled', true);
        } else if (sum >= points) {
            $('.group2 :checkbox').not(':checked').attr('disabled', true);
        } else {
            $(':checkbox:disabled').attr('disabled', false);
        }        
    });

最佳答案

Update Fiddle 改变这部分。 IE。从表达式中删除=。

else if (sum > points) 

关于javascript - jQuery if else 语句不重置原始复选框状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21876007/

相关文章:

javascript - 文件输入更改事件仅触发一次

javascript - 根据 url 设置项目事件

javascript - 即使本地成功(或任何本地 AJAX 事件)抛出错误,也调用 jQuery ajaxSuccess(或任何全局 AJAX 事件)

Bash: `true` 的用法

c# - 有没有更好的方法来处理两个 bool 条件的组合?

javascript - Angular 用户界面路由器不工作/路由

Javascript onclick 函数与 if 和 else 不按其应有的方式工作

javascript - 使用 jQuery 直观地删除表格行

javascript - 限制下拉列表的范围

r - 如何计算数据集中事件之间的天数