用于多个ID的jQuery OR选择器

时间:2014-09-07 04:23:18

标签: jquery

我正在尝试验证具有多个ID选择器的表单,但似乎无法正常工作。 我做错了什么?

$(document).ready(function(){
 $("input:text:first").focus();
 $("form").submit(function(){
     if($("#sku").val()==""){
     alert('SKU NEEDED!');
     return false;
     }
     if($('#cost,#exp').val()==""){
         alert('At least one shipping cost is required!');
         return false;
         }

}); });

我正在尝试测试#cost OR #exp中是否还没有任何值。

2 个答案:

答案 0 :(得分:0)

使用:

而不是if($('#cost,#exp').val()==""){
if($('#cost').val()=="" || $('#exp').val()==""){

获取值时,.val()仅获取匹配元素集#34;中第一个元素的"值,因此您无法合并ID。

答案 1 :(得分:0)

以下语法有效

 if($('#cost').val()=="" || $('#exp'.val()=="")){
     alert('At least one shipping cost is required!');
     return false;
  }

因为你可以一次获取一个id的值。所以更好的方法是避免混淆和清理代码,你可以将值缓存在变量中,因此它甚至易于阅读,理解。

 var costVal=$('#cost').val();
 var expVal=$('#exp'.val();

 if(costVal=="" || expVal=="")){
     alert('At least one shipping cost is required!');
     return false;
  }