在javascript中使用AND语句获取错误

在javascript中使用AND语句获取错误,javascript,Javascript,您可以理解我在这里的意思,请选择1986,然后选择Hello最后选择test2。我的意思是,当您选择test2时,我的脚本将显示“0”文本,但不会显示。 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script></script> <script type="text/javascript"> var zero="0

您可以理解我在这里的意思,请选择1986,然后选择Hello最后选择test2。我的意思是,当您选择test2时,我的脚本将显示“0”文本,但不会显示。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script></script>
    <script type="text/javascript">
    var zero="0,00";
    var one="0,01";
    $(document).ready(function() {    
        $('#main').on('change', '.select-box', function() {    
            if ($(".select-box option[value='1']").prop('selected') && $(".select-box option[value='1986']").prop('selected')) {    
                $('#street').html("<option value='2'>test</option><option value='3'>test2</option>");    
            }
            if ($(".select-box option[value='1']").prop('selected') && $(".select-box option[value='1986']").prop('selected') && $(".select-box option[value='3']").prop('selected')) {
                 document.getElementById("demo3").innerHTML=""+zero;
            }    
        });    
      });
</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("forloop").innerHTML="<select class='select-box'><option>Empty</option>"+x+"</select>";
    });
</script>  
</head>
<body>  
    <p id="forloop"></p>
        <div id="main">
          <select class="select-box">
             <option>Empty</option>
             <option value="1">Hello</option>    
         </select> 
         <p></p>
         <select class="select-box" id="street">
            <option>Empty<option>
         </select>
      </div>    
    <p id="demo3">    
  </body>
</html>

var zero=“0,00”;
var one=“0,01”;
$(文档).ready(函数(){
$('#main')。在('change','select box',function(){
如果($(“.select-box-option[value='1']”).prop('selected')和(&$(“.select-box-option[value='1986']]).prop('selected'){
$('#street').html(“test2”);
}
如果($(“.select box option[value='1']”).prop('selected')&&$(“.select box option[value='1986']”).prop('selected')&&$(“.select box option[value='3']])。prop('selected')){
document.getElementById(“demo3”).innerHTML=“”+零;
}    
});    
});
var x=”,i;

对于(i=1986;i您的三个选择框具有相同的类,因此当第一个选择框的值为1时,您的第二个测试总是正确的。使用id而不是classname来区分元素,这将更容易理解(#年、#月、#天)而且更易于维护…

您的三个选择框具有相同的类,因此当第一个选择框的值为1时,您的第二个测试总是正确的。使用id而不是类名来区分元素,这将更易于理解(#年、#月、#天)而且更易于维护…

每次更改任何select时,都会调用同一个处理程序。第一个条件与重置第二个select内容的条件相匹配。所有这些都应该重写,以使其更有针对性…但是如果您真的想这样做,您应该交换if语句的顺序,并使第二个语句成为elseif。

永远y更改任何select时,将调用同一个处理程序。第一个条件与重置第二个select内容的条件相匹配。所有这些都应重写为更具针对性…但如果确实要执行此操作,则应交换if语句的顺序,并使第二个语句成为elseif。

我在选择“test2”时注意到选择框变为go返回到“test”我注意到,当我选择“test2”时,选择框返回到“test”我已经添加了id,但同样的问题您不理解,请对id而不是类进行jQuery测试。jQuery无法区分您的selectbox,并且测试==1可以由我添加了id的任何selectbox匹配,但您不理解的问题相同,请执行jQuery测试在id而不是类上。jQuery无法区分您的selectbox,并且测试==1可以由任何selectbox匹配