关于复选框检查的困惑
Confusion about checkbox-checking
我有大约100门带有复选框的课程,其中有course-chkbox
类,我使用以下代码:
//Make sure user has checked at least one course
if ($('.course-chkbox:checked').length === 0) {
alert('You have to have at least one course selected');
return false;
}
基于我使用的是最新版本的jQuery,这是正确的吗?
基于一些谷歌搜索,有很多关于如何解决同样问题的建议。。。
1. Usage of is("checked")
2. Usage of prop()
3. Looping through the elements involved and check each element if it's checked
什么解决方案是最好的,为什么?
考虑到性能,您的代码比迭代更好。
- is的用法("checked")
- prop()的用法
这两种情况必须进行迭代(循环检查是否已检查)
$('.course-chkbox').is(':checked').length // returns undefined
$('.course-chkbox').prop('checked').length //returns undefined
如果你尝试使用迭代,那么代码可能看起来像
var tot;
$('.course-chkbox').each(function() {
if ($(this).is(':checked')) { //or if($(this).prop('checked')) {
tot = tot + 1;
}
});
if (tot == 100) {
alert('You have to have at least one course selected');
return false;
}
因此,使用您的代码是明智的。
if ($('.course-chkbox:checked').length) {
alert('You have to have at least one course selected');
return false;
}
我试图为这个测试用例创建基准(您的代码获胜),但不确定代码的正确性。
相关文章:
- 如何在将鼠标悬停在提交/锚点上时检查复选框是否已选中,并显示提示用户这样做的警报
- j查询检查复选框是否被选中,然后向输入字段添加值
- 检查复选框状态-Javascript
- JQuery:如何检查复选框是否被选中并向字段添加属性
- 如何检查复选框是否在特定表单中被选中
- 如何在HTML和JavaScript中检查复选框是否为真
- JavaScript 检查复选框是否被输入值禁用
- 如何使用 *jquery mmenu 插件*检查复选框是否处于选中状态
- 按使用 jquery 检查复选框的顺序显示文本
- Acrobat XI Pro:检查复选框的状态以影响计算
- AngularJS指令,用于检查复选框列表中是否至少选中了一个项目
- 检查复选框是否被选中(js/jquery)
- 如何在单击复选框之前检查复选框是否已选中
- 使用jsTree以编程方式检查复选框节点
- 单击复选框时检查复选框的选中状态
- 如何检查复选框是否被选中
- jQuery检查复选框是否被选中,并使用复选框's值,如果它's是空的
- jQuery-检查复选框值(链接jQuery函数与If Statment)
- 如何确保使用Javascript检查复选框
- 如何检查复选框是否与Protractor、CucumberJS和Chai一起选中