14

大家好,我正在尝试运行多个 javascript 并使用 AND 语句。当用户单击 value="1986" 的选项并单击 value="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>
4

3 回答 3

15

要使用 AND 语句,它应该是&&.

因此,对于您的 if 语句,它应该是

if ($(".select-box option[value='3']").attr('selected') && $(".select-box option[value='1986']").attr('selected')) {
            $('#demo').html("Hello World");
}

是有关布尔逻辑的更多信息。

于 2012-09-11T07:31:14.927 回答
12

你需要使用&&

if ($(".select-box option[value='3']").attr('selected') && $(".select-box option[value='1986']").attr('selected'))
________________________________________________________^

逻辑运算符:

&& = and
|| = or
!  = not

并且您必须从第一个更改选择类,select否则您将无法同时获得它们。

于 2012-09-11T07:30:56.950 回答
1

第二个(外)括号似乎也很重要。

于 2018-02-05T23:35:18.940 回答