拥有此代码:
if ($('.course-chkbox:checked').length === 0) {
alert('no course is selected');
}
这是检查长度的正确方法吗?我无法在某些浏览器中使用它。所以我问。
更新
我发现实际上没有检查复选框复选框的数量是问题,但问题在于实际检查了多少个复选框。
为什么IE 8中的代码不能低于此代码?长度总是为0!
$(document).on('click', 'label', function(e) {
var tClicked = $(this);
var checkbox = $('#' + $(this).attr('for'));
if (checkbox.is(':checked')) {
tClicked.removeClass('checkbox-checked');
checkbox.checked = false;
} else {
tClicked.addClass('checkbox-checked');
checkbox.checked = true;
}
});
复选框选中的类将背景图像添加到标签。
html看起来像这样:
<input class="course-chkbox" type="checkbox"/>
<label for="course_<id>"</label>
答案 0 :(得分:2)
您在每个浏览器中都可以使用长度检查,因为jQuery正在返回一个具有长度属性的类数组对象。
答案 1 :(得分:0)
因为我在原来的问题中非常不清楚。 请原谅我!我会在这里提供一个答案,以防有人偶然发现这个问题:
如果有人想要设置样式复选框。请注意,当设置为display:none
或visiblity:hidden;
我把它放在header-file中解决了这个问题:(另一个隐藏它的原因)
<!--[if lte IE 8]>
<style type="text/css">
#adduser .course-chkbox {
display:inline-block !important;
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
</style>
<![endif]-->