所以,当我的价值是gsm时,我只需要一个警告(“它很好用”)但它不想工作!你能帮助我吗?没有改变我的大部分代码?除非它确实是错误的。
这是我的Html:
<select id="telefoonkeuze" onchange="Checkfunction()">
<option value="gsm" id="gsm">gsm</option>
<option value="telefoon">telefoon</option>
</select>
这是我的js:
var gsm = document.getElementById("gsm");
function Checkfunction() {
var x = document.getElementById("telefoonkeuze").value;
if (x == gsm) {
alert("nice it works!");
}
}
答案 0 :(得分:3)
当你这样做时
var gsm = document.getElementById("gsm");
您正在为gsm变量分配一个元素。然后将该元素与值进行比较。
只需更改该行
var gsm='gsm';
或对变量进行elimate并将'gsm'字符串放在if语句中。
您也可能无法获得所选的值。虽然有另一个线索。 Get selected value in dropdown list using JavaScript?
答案 1 :(得分:0)
var Checkfunction = function() {
var x = document.getElementById("telefoonkeuze");
if (x.value == "gsm") {
alert("here you go");
}
}
<select id="telefoonkeuze" onchange="Checkfunction()">
<option value="gsm" id="gsm">gsm</option>
<option value="telefoon">telefoon</option>
</select>
答案 2 :(得分:0)
你可以这样做。 http://jsfiddle.net/c8go6663/2/
var gsm = document.getElementById("gsm").value;
Checkfunction = function() {
var x = document.getElementById("telefoonkeuze").value;
if (x == gsm) {
alert("nice it works!");
}
}
答案 3 :(得分:0)
以下部分是对代码的纯JS修改。您也可以在this fiddle中查看它(适应jsfiddle环境):
<html>
<head>
<title>getElementById fails</title>
<script type="text/javascript">
var gsm;
function Checkfunction() {
var x = document.getElementById("telefoonkeuze").value;
if (x === gsm) {
alert("nice it works!");
}
}
window.addEventListener ( "load", function () { gsm = document.getElementById('gsm').value; 1; });
</script>
</head>
<body>
<div>
<select id="telefoonkeuze" onchange="Checkfunction()">
<option value="gsm" id="gsm">gsm</option>
<option value="telefoon">telefoon</option>
</select>
</div>
</body>
</html>
注意强>
这个答案应该是健壮且有效的。 @RightClick仍然应该获得积分(和接受),因为他确定了原始代码中的明确缺陷(我,羞辱我,起初没有发现......)。