Jquery停止表单提交,除非选中复选框

前端之家收集整理的这篇文章主要介绍了Jquery停止表单提交,除非选中复选框前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这个代码,但似乎没有返回true.警报总是出现.任何想法(不需要创建一个var,在其中存储一个复选框已被选中,似乎有点黑客).

谢谢.

  1. $("#form").submit(function(e) {
  2. $('input[type=checkBox]').each(function () {
  3. if(this.checked){
  4. return true;
  5. }
  6. });
  7. alert("Please select at least one to upgrade.");
  8. return false;
  9. });

解决方法

您不需要执行循环来确定是否选中一个复选框. :checked选择器滤除所有未检查的选项.然后,您可以使用 $.length获取已检查输入的计数.
  1. $("#form").submit(function(e) {
  2. if(!$('input[type=checkBox]:checked').length) {
  3. alert("Please select at least one to upgrade.");
  4.  
  5. //stop the form from submitting
  6. return false;
  7. }
  8.  
  9. return true;
  10. });

另外,使用你的方法,一个小的变化应该使这个工作

  1. $("#form").submit(function(e) {
  2. $('input[type=checkBox]').each(function () {
  3. if($(this).is(':checked')){
  4. return true;
  5. }
  6. });
  7. alert("Please select at least one to upgrade.");
  8. return false;
  9. });

我认为你可能会简单地丢失$()

猜你在找的jQuery相关文章