我正在使用下拉框中的项目选择来隐藏和显示div。我是jquery的新手。我希望能够测试多个值,这样如果选择了p1、p2和p3,将显示id为specify-source的div。到目前为止,它适用于p1 now。如何为多个值编写此代码?
<select name = "genericId" id="myselect" >
<option value="p1">Section1</option>
<option value="p2">Section2</option>
<option value="p3">Section3</option>
<option value="j2">Section4</option>
<option value="j3">Section5</option>
</select>
<div id="specify-source">
<p class="headerSection">Select Branch</p>
<select name="listOfBranches" id="brnlist">
<option value="0">Branch 1</option>
<option value="1">Branch 2</option>
<option value="2">Branch 3</option>
</select>
</div>
这是可行的。
$('#myselect').change(function () {
($(this).val() == "p1") ? $('#specify-source').show() : $('#specify-source').hide();
});
我想测试多个值,比如p1、p2、p3
发布于 2013-10-04 13:39:04
只需使用OR运算符||
将条件添加到if语句
$('#myselect').change(function () {
if($(this).val() == "p1" || $(this).val() == "p2" || $(this).val() == "p3"){
$('#specify-source').show()
}else
{
$('#specify-source').hide();
}
});
为了进行7次比较,让我们使用switch语句:
$('#myselect').change(function () {
var target = $(this).val();
switch (target)
{
case "p1":
case "p2":
case "p3":
$('#specify-source').show()
break;
case "p4":
//your p4 code
break;
default:
//default code to execute
$('#specify-source').hide();
}
});
当要执行的操作相似时,不使用break;
将条件放在后面。
发布于 2013-10-04 13:39:50
来自Jquery文档
在
<select multiple="multiple">
元素的情况下,.val()方法返回一个包含每个选定选项的数组
您可以循环数组,以查看是否存在其中任何一个。
https://stackoverflow.com/questions/19182528
复制相似问题