edw*_*yte 11 forms checkbox jquery submit
我有这个代码,但它似乎没有返回true.警报始终显示.任何想法(无需创建一个var来存储已选中的复选框,因为它看起来有点像hacky).
谢谢.
$("#form").submit(function(e) {
$('input[type=checkbox]').each(function () {
if(this.checked){
return true;
}
});
alert("Please select at least one to upgrade.");
return false;
});
Run Code Online (Sandbox Code Playgroud)
Jos*_*osh 19
您不需要执行循环来确定是否选中了复选框.在:checked选择过滤掉不检查所有.然后,您可以使用$.length获取已检查输入的计数.
$("#form").submit(function(e) {
if(!$('input[type=checkbox]:checked').length) {
alert("Please select at least one to upgrade.");
//stop the form from submitting
return false;
}
return true;
});
Run Code Online (Sandbox Code Playgroud)
此外,使用您的方法,一个小的改变应该使这工作
$("#form").submit(function(e) {
$('input[type=checkbox]').each(function () {
if($(this).is(':checked')){
return true;
}
});
alert("Please select at least one to upgrade.");
return false;
});
Run Code Online (Sandbox Code Playgroud)
我想你可能只是错过了$()周围this