Javascript 如何使jquery独立

Javascript 如何使jquery独立,javascript,jquery,jquery-validate,Javascript,Jquery,Jquery Validate,我有一个jquery来验证我的下拉列表。如果收音机上的“是”,我可以从下拉列表中选择。如果收音机盒上的“否”下拉列表变灰 如果两个单选框都是“是”,并且两个下拉列表中的值都是“请选择”,并且单击了“提交”按钮,则会发生验证错误,并且不会重定向到index.html 如果一个单选框位于“是”&下拉框“请选择”,另一个位于“否”,下拉框和提交按钮中的值为“红色”,则单击确认错误occors并重定向到index.html。显然,这违背了验证的目的 我希望有人能帮助我,因为这让我发疯 我把问题缩小到这一

我有一个jquery来验证我的下拉列表。如果收音机上的“是”,我可以从下拉列表中选择。如果收音机盒上的“否”下拉列表变灰

如果两个单选框都是“是”,并且两个下拉列表中的值都是“请选择”,并且单击了“提交”按钮,则会发生验证错误,并且不会重定向到index.html

如果一个单选框位于“是”&下拉框“请选择”,另一个位于“否”,下拉框和提交按钮中的值为“红色”,则单击确认错误occors并重定向到index.html。显然,这违背了验证的目的

我希望有人能帮助我,因为这让我发疯

我把问题缩小到这一点:

});      
       $("input:submit").click(function(){         
           var retVal = false;
           $.each([1, 2], function(i, val){
              retVal = (validate(val) || retVal);
           });
            return retVal;   
       });

如果我理解正确,您有一个
validate()
函数(您没有显示该函数),该函数验证指定的项,并在确定时返回
true
,在无效时返回
false
。在提交时,您希望为多个项目调用
validate()
,如果其中任何一项返回
false
则返回
false
以提交(相反,仅当所有验证均
true
时,才返回
true

现有代码设置
retVal
的方式,一旦变为
true
,它将保持
true
,因为
validate()
true
的任何布尔结果都将变为
true
。请尝试以下操作:

       $("input:submit").click(function(){         
           var retVal = true;
           $.each([1, 2], function(i, val){
              retVal = validate(val) && retVal;
           });
            return retVal;   
       });
这从默认返回值
true
开始,如果
validate(val),则将其更改为
false
返回
false
。使用
&
而不是
|
则意味着一旦
返回
false
它将保持
false
。在我看来,将
&
完全去掉,并说:

if (!validate(val)) retVal = false;

如果至少有一次验证成功,则代码中的retVal为true。是,这就是我要做的。如果选择“否”,则下拉列表不会变为灰色,如果选择“是”和“请选择”,则不会出现验证消息。