Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在jQuery中处理if条件_Jquery - Fatal编程技术网

如何在jQuery中处理if条件

如何在jQuery中处理if条件,jquery,Jquery,我有一个有图像的类 <a class="proceed-btn right" onclick="validateall();" style="cursor: pointer;">Proceed To Next Step >>></a> 然后在同一页上,我有这些输入字段和链接 <input type="text" id="name" name="name" value="" class="field left"> <input type

我有一个有图像的类

<a class="proceed-btn right" onclick="validateall();" style="cursor: pointer;">Proceed To Next Step >>></a>
然后在同一页上,我有这些输入字段和链接

<input type="text" id="name" name="name" value="" class="field left">
<input type="text" id="company" name="company" value="" class="field left">
<input type="text" id="email" name="email" value="" class="field left">

<a onclick="setindustry('3');" style="cursor: pointer;" class="industry_links highlight">Retail</a>

<a onclick="setsystems('5');" style="cursor: pointer;" class="count_links highlight">5</a>
每个文本字段至少有一个字母,industry_links和count_links类都至少有一个带有highlight类的类

基本上,我想改变按钮的颜色时,所有五个都满足


抱歉,您正在检查的按钮太混乱了

,请使用css功能进行测试:

$('.buttonsClass').each(function(){

if(this.css('text-decoration') == 'none'
   && ... )
 this.addClass('new_button');
});

不确定我的语法是否正确,但使用firebug应该很容易实现。

在psudo jquery中,作为一种通用模式,它更具可读性:

$(elements you are looking for).change(function() {
    if(condition A &&
      condition B &&
      . 
      .
      .
      condition Z)
     {
        $(element you want to change).addClass('class you want to add');
     }
});

您可以侦听任何元素中的更改,测试是否满足所有条件,然后应用更改。

好的,我选择了我认为最具可读性的方法。
var allHaveAtleastOneLetter = true;
$("input[type='text']").each(function(){ allHaveAtleastOneLetter && ($(this).val().length > 0 )});

var industryLinksHasHighlight = $(".industry_links.highlight").length > 0;

var countLinksHasHighlight = $(".count_links.highlight").length > 0;

if(allHaveAtleastOneLetter && industryLinksHasHighlight && countLinksHasHighlight){
   $("proceed-btn.right").addClass("new_button");
}
下面是:

if($('#name').val().length>0 && 
   $('#company').val().length>0 && 
   $('#email').val().length>0 &&
   $('.industry_links.highlight').length > 0 &&
   $('.count_links.highlight').length > 0
  ) {
   // Of course you could make #FF0000 any colour you want
   $('.proceed-btn.right').css('color', '#FF0000');
}

你做错了

如果是我,我会使用一个验证工具包(像这样)——如果表单通过了验证,则使用“addClass”向按钮添加一个类来更改按钮的颜色


如果表单验证失败,请删除该类(并禁用该按钮?)。

很抱歉,我试图使其尽可能简单明了…感谢您的帮助您需要关闭输入标记。哪个按钮是“顶部按钮”?我想你需要一个点,在最后一行的“右”之前没有空格。你确实是对的,谢谢你指出这一点!我已经更新了代码。
var allHaveAtleastOneLetter = true;
$("input[type='text']").each(function(){ allHaveAtleastOneLetter && ($(this).val().length > 0 )});

var industryLinksHasHighlight = $(".industry_links.highlight").length > 0;

var countLinksHasHighlight = $(".count_links.highlight").length > 0;

if(allHaveAtleastOneLetter && industryLinksHasHighlight && countLinksHasHighlight){
   $("proceed-btn.right").addClass("new_button");
}
if($('#name').val().length>0 && 
   $('#company').val().length>0 && 
   $('#email').val().length>0 &&
   $('.industry_links.highlight').length > 0 &&
   $('.count_links.highlight').length > 0
  ) {
   // Of course you could make #FF0000 any colour you want
   $('.proceed-btn.right').css('color', '#FF0000');
}