我正在学习中,因此我将自己称为JavaScript的新手。将其输入html表单后,终于可以得到要显示的对象之一。但是,当输入其他变量时,将显示相同的对象。这些是门锁的锁芯名称以及与之相关的数据。
我添加了一个if语句尝试在对象之间切换,但是即使我输入“ LD”,它也只会显示来自“ RD”的数据。因此,显然我在使用getElementById或使用错误的ID时做错了什么? 我很高兴在阅读的其他一些线程的帮助下走到了这一步,但是现在我有点停滞了。
这是我的代码,其中显示了两个对象:
var display = document.getElementById("displayCyl");
function getCyl(){
if(document.getElementById("cylEnter").value = "RD"){
display.innerHTML=display.innerHTML + Object.values(RD);
}
else if(document.getElementById("cylEnter").value = "LD"){
display.innerHTML=display.innerHTML + Object.values(LD);
}
}
var LD = {
brand: 'Schlage, Falcon',
cylinder: ' Without cylinder',
pins: ' 6 Pin',
type: ' KIL'
}
var RD = {
brand: 'Schlage-Everest 29 S123 (Standard)',
cylinder: ' With cylinder',
pins: ' 6 Pin',
type: ' FSIC'
}
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title></title>
</head>
<body>
<h2>Cylinder Selector</h2>
<h3>For AD and CO Locks</h3>
<form name="cylForm">
<input type="text" id="cylEnter" placeholder="Enter">
<input type="button" onclick="getCyl()" value="Submit Cylinder">
</form>
<p id="displayCyl"></p>
我最终要做的是大约有10个对象,可以分别输入到表单中。然后,它将显示该气缸的正确数据。只是现在查找原始数据,然后再进行样式设置和格式化。
答案 0 :(得分:6)
将'='更改为'=='
if(document.getElementById("cylEnter").value == "RD"){
display.innerHTML=display.innerHTML + Object.values(RD);
}
else if(document.getElementById("cylEnter").value == "LD"){
display.innerHTML=display.innerHTML + Object.values(LD);
}
OR
如果您还想检查类型,而不是将'=='更改为'==='
答案 1 :(得分:4)
在JavaScript中,=
中的document.getElementById("cylEnter").value = "RD"
表示set value to 'RD'
。如果需要比较,请使用==
或===