我在使用javascript设置HTML元素的onchange属性时遇到了一些问题。该脚本工作正常,除非else语句不能正常工作,即使选择更改为否。我试图调试但没有显示。有人可以解释为什么会发生这种情况吗?
<html><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<style type="text/css">
</style>
<title></title>
<style type="text/css"></style></head>
<body>
<div class="testclass">
<select class="selectClass">
<option value=""></option>
<option value="y">Yes</option>
<option value="n">No</option>
</select>
<input class="inputText" type="text">
</div>
<script type="text/javascript">
var div = document.getElementsByClassName("testclass")[0];
//alert(div.getElementsByClassName("selectClass")[0].value);
var select = div.getElementsByClassName("selectClass")[0];
select.setAttribute("onchange", "myfunction()");
function myfunction() {
var x = document.getElementsByClassName("selectClass")[0];
var y = document.getElementsByClassName("inputText")[0];
if(x.value = "y"){
y.value = "hello";
}
else{
y.value = "boo";
}
}
</script>
</body></html>
答案 0 :(得分:1)
如果条件男人
,你缺少“=”if(x.value == "y")
答案 1 :(得分:0)
if(x.value = "y"){
y.value = "hello";
}
else{
y.value = "boo";
}
可以转换为
y.value = (x.value === 'y') ? 'hello' : 'boo';
单一等于分配。 ==或===用于比较。还建议使用===(强比较)来确保它们属于同一类型。