当满足条件时,用jQuery选中一个框
Check a box with jQuery when condition is met
我有五个选择加入复选框和一个取消订阅复选框。当我单击选择加入复选框时,如果没有一个选择加入复选框保持选中状态,则取消订阅复选框应该会自动选中。如果我随后选中其中一个选择加入框,则取消订阅复选框应该自动取消选中。
取消订阅复选框的自动取消选中工作正常。我无法开始工作的是,当未选中任何选择加入复选框时,自动选中取消订阅复选框。
var $jQ = jQuery.noConflict();
$jQ("#Unsubscribed").click(function(event) {
opt_ins_unchecked = $(":checkbox" ).not('#Unsubscribed').not(':checked').length;
if (opt_ins_unchecked == 5 && !$jQ("#Unsubscribed").is(':checked')){
event.preventDefault();
} else {
$jQ("input[name=Opt-In_Premium_Content],input[name=Opt-In_Product_Updates],input[name=Opt-In_Industry_Best_Practices],input[name=Opt-In_Events_Webinars],input[name=Opt-In_Education_Training]").attr("checked", false);
}
});
$jQ("#Opt-In_Premium_Content, #Opt-In_Product_Updates, #Opt-In_Industry_Best_Practices, #Opt-In_Events_Webinars, #Opt-In_Education_Training").click(function() {
opt_ins_unchecked = $(":checkbox" ).not('#Unsubscribed').not(':checked').length;
if (opt_ins_unchecked == 5){
$jQ("#Unsubscribed").attr("checked", true);
}
if (opt_ins_unchecked != 0){
$jQ("#Unsubscribed").attr("checked", false);
}
});
为什么当我没有选中选择加入复选框时,$jQ("#Unsubscribed").attr("checked", true);
行不运行?当我取消选中所有选择加入复选框时,如何选中取消订阅框?
使用 .prop()
而不是 .attr() 来设置检查状态
$jQ("#Unsubscribed").prop("checked", true);
尝试
var $unsubscribed = $jQ("#Unsubscribed");
var $checks = $jQ("#Opt-In_Premium_Content, #Opt-In_Product_Updates, #Opt-In_Industry_Best_Practices, #Opt-In_Events_Webinars, #Opt-In_Education_Training");
$checks.change(function () {
$unsubscribed.prop("checked", $checks.filter(':checked').length == 0);
});
jQuery 1.6+ 推荐 prop() 而不是 attr():
使用新的.prop()
功能:
$jQ('#Unsubscribed').prop('checked', true);
$jQ('#Unsubscribed').prop('checked', false);
jQuery 1.5 及以下版本您可以使用 attr
作为 prop() 不可用。
或者你可以使用任何jQuery:
$jQ("#Unsubscribed").removeAttr('checked');
事实证明它不起作用,因为两个if
语句的评估结果都是true
相关文章:
- Javascript'数组'和'循环'如何“;变量[i]”;是一个条件
- 向以下代码添加不接受“0”的另一个条件
- 如何生成一个条件提示,该提示将继续提示,直到满足条件为止
- 函数的javascript - 如何在for循环中包含另一个条件
- JavaScript - 是否可以在不使用OR的情况下在一个条件下检查多个工作日
- 一个开关条件不起作用,而另一个条件不起作用
- 如何向此 JavaScript 添加另一个条件
- 为 创建一个条件,以便在事件发生 jQuery 之前具有值
- 如何创建一个条件来查看是否创建了具有特定值的 href
- 如何确保元素不可见并继续量角器中的下一个条件
- AngularJS - 如何添加一个条件来引导模态目标
- 有没有一种更简洁的方法来设置一个条件语句,以便为变量的任意值集执行
- 我需要添加一个条件语句来将css高度链接到下拉选择(jQuery)
- 我试着写一个条件语句,它将检查我的页面标题,看看是否找到某些单词
- JSHint -期望一个条件表达式,却看到了一个赋值
- AngularJS ng-show一个条件和多个元素
- 实现递归ajax调用,并在一个条件下停止它
- 如何循环通过我的html和注入文本,如果一个条件是满足
- 在Javascript中,我可以在一个条件中两次使用==吗?
- 如何用JS创建一个条件来检测目录名及其url