我在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');
}
});
答案 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>