如何在jquery中使用多个条件?在jquery中同时使用IF OR

时间:2016-08-12 13:51:14

标签: javascript jquery

我在jquery中尝试使用OR,但只有"返回"工作中。 "正在处理"不管用。需要帮助。

$('.target').change(function() {
     if (($(this).find('option:selected').val() == 'Returns') || ($(this).find('option:selected').val() == 'In Process')) {
       $(".answer").show('slow');
     }
     else{
         $(".answer").hide('slow');
     }
   });

2 个答案:

答案 0 :(得分:3)

使用.val()获取select元素的选定值。看看下面,它的工作非常好

$('.target').change(function() {
     if ($(this).val() == 'Returns' || $(this).val() == 'In Process') {
       $(".answer").show('slow');
     }
     else{
         $(".answer").hide('slow');
     }
   });
.answer{
  height:50px;
  border:1px solid #333;
  display:none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="target">
  <option value="">select</option>
  <option value="Returns">Returns</option>
  <option value="In Process">In Process</option>
</select>
<br>
<div class="answer"></div>

答案 1 :(得分:0)

您可以创建一个包含所有正确值的数组,如果数组中存在选定值,则显示answer else else hide。

您还可以使用.toggle(expression)来控制可见性。

示例:

$('.target').change(function() {
  var valid = ["Returns", "In Process"];
  var value = $('option:selected', this).val().trim();
  $(".answer").toggle(valid.indexOf(value) > -1)
});
.answer {
  height: 50px;
  border: 1px solid #333;
  display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="target">
  <option value="">select</option>
  <option value="Returns">Returns</option>
  <option value="In Process">In Process</option>
</select>
<br>
<div class="answer">Answer</div>