jQuery - 查找具有没有值的给定类的任何输入

Sim*_*les 5 javascript jquery

我有一个(非常)基本的验证脚本.我基本上想检查类.required的任何输入,看看是否有值a)空白或b)0如果是,则在我的表单提交上返回false.此代码似乎没有返回false:

function myValidation(){
  if($(".required").val() == "" || $(".required").val() == 0){
  $(this).css({ backgroundColor:'orange' })  ;
  return false;
  }
}
Run Code Online (Sandbox Code Playgroud)

将此函数附加到我的表单的onSubmit处理程序不会返回任何结果.任何关于此事的光明都将受到赞赏.

我基本上在使用类.required迭代所有输入的函数之后,如果ANY有空值或0值,则在我的提交时返回false并将所有不良行为输入的背景颜色更改为橙​​色.

Nic*_*ver 11

您的代码目前得到.val()第一个 .required,从.val()文档:

获取匹配元素集中第一个元素的当前值.

您需要逐个过滤每个,如下所示:

function myValidation(){
  var allGood = true;
  $(".required").each(function() {
     var val = $(this).val();
     if(val == "" || val == 0) {
       $(this).css({ backgroundColor:'orange' });
       allGood = false;
     }
  });
  return allGood;
}
Run Code Online (Sandbox Code Playgroud)

或者更紧凑的版本:

function myValidation(){
  return $(".required").filter(function() {
     var val = $(this).val();
     return val == "" || val == 0;
  }).css({ backgroundColor:'orange' }).length === 0;
}
Run Code Online (Sandbox Code Playgroud)