$(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检查不同下拉列表中的选定值是否相同。但是我使用的代码没有提醒。
答案 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()
。