如何使用Javascript检查不同下拉列表中的选定值是否相同

时间:2017-09-24 13:47:59

标签: javascript jquery dropdown

$(document).ready(function() {
  function validate() {
    var d1 = document.getElementById("edit-submitted-23");
    var d2 = document.getElementById("edit-submitted-24");

    if (d1 == d2) {
      alert("You have choosen the same value");
    }
  }
});

我正在尝试使用Javascript检查不同下拉列表中的选定值是否相同。但是我使用的代码没有提醒。

4 个答案:

答案 0 :(得分:2)

您正在直接检查要检查值的元素。

所以你的病情应该是

 if (d1.value == d2.value) {

 }

答案 1 :(得分:1)

比较值:

if (d1.value === d2.value) {
//... your code here
}

答案 2 :(得分:1)

您的代码所做的是将两个DOM引用进行比较。当您比较不同的 HTML元素时,这将始终为false。你的意思是比较元素'。你的代码应该是这样的:

$( document ).ready(function() {
     var d1 = document.getElementById("edit-submitted-23");
     var d2 = document.getElementById("edit-submitted-24");

     if (d1.value == d2.value)
     { 
       alert("You have choosen the same value");
     }
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="edit-submitted-23">
  <option>1</option>
  <option>2</option>
  <option>3</option>  
</select>

<select id="edit-submitted-24">
  <option>1</option>
  <option>2</option>
  <option>3</option>  
</select>

我还应该注意,您的代码定义了一个函数validate()但不使用它。您无需定义它。或者如果你这样做,你需要在之后调用它:

$(document).ready(function(){
   function validate(){
       ....
   }

   validate();
})

答案 3 :(得分:0)

由于您使用的是JQuery,因此您可以这样检查:

function validate() {
  if($("#edit-submitted-23").val() === $("#edit-submitted-24").val()) {
    alert('You have choosen the same value');
  }
}

假设您在某个事件上呼叫validate()