抱歉,这个问题的措辞很难!
看看这个 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/