我有工作日的复选框列表,我想确保始终至少选择一天。我已经创建了以下代码,但它似乎无法正常工作。在IE 8中它可以工作但是间歇性地在chrome和firefox中它根本不起作用。谁能解释我做错了什么?
干杯
皮特
$(function () {
var weekdays = $("input[name='WeekDays']");
$(weekdays).change(function (e) {
var count = $(weekdays).filter(":checked").length;
if (count < 1) {
e.preventDefault();
}
});
});
答案 0 :(得分:2)
我认为change
事件在状态发生变化后被称为,因此在此阶段阻止默认操作并不会阻止取消选择。
但是,您可以以编程方式再次选中该复选框。
if (count < 1) {
this.checked = true;
}
请注意weekdays
已经是一个jQuery对象,所以将它再次传递给jQuery是没有意义的。