大家好我正在尝试运行多个javascripts并使用AND语句。当用户单击值为“1986”的选项并单击其他值为“3”的选项时,将显示一些文本。我在if语句中使用了AND语句,但它不起作用。这是我的代码:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script></script>
<script type="text/javascript">
$(document).ready(function() {
$('#main').on('change', '.select-box', function() {
if ($(".select-box option[value='3']").attr('selected') & $(".select-box option[value='1986']").attr('selected')) {
$('#demo').html("Hello World");
}
});
});
</script>
<script type="text/javascript">
var x="",i;
for(i=1986;i<2013;i++)
{
x=x + "<option value='"+i+"'> " + i + "</option>";
}
$(document).ready(function() {
document.getElementById("demo2").innerHTML="<select class='select-box'>"+x+"</select>";
});
</script>
</head>
<body>
<p id="demo2"></p>
<div id="main">
<select class="select-box">
<option value="0">alert</option>
<option value="1">alert to</option>
<option value="2">no alert</option>
<option value="3">best alert</option>
</select>
<p><br/>
<div id="demo"></div>
</div>
</body>
答案 0 :(得分:7)
您需要使用&&
if ($(".select-box option[value='3']").attr('selected') && $(".select-box option[value='1986']").attr('selected'))
________________________________________________________^
逻辑运算符:
&& = and
|| = or
! = not
并且您必须从第一个select
更改选择类,否则您将不会同时更改它们。
答案 1 :(得分:5)
要使用AND语句,它应该是&&
。
因此,对于你的if语句,它应该是
if ($(".select-box option[value='3']").attr('selected') && $(".select-box option[value='1986']").attr('selected')) {
$('#demo').html("Hello World");
}
Here是有关布尔逻辑的更多信息。
答案 2 :(得分:1)
第二(外)括号似乎也很重要。