javascript - 在表单输入中显示来自对象的正确数据
问题描述
我正在学习,所以我称自己为 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 个可以单独输入表格的对象。然后它应该显示该气缸的正确数据。现在只是寻找原始数据,然后是样式和格式。
解决方案
将 '=' 更改为 '=='
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);
}
或者
如果你想检查类型也比改变 '==' 与 '==='
推荐阅读
- oracle - 从 Apache Superset 连接到 Oracle 服务器时出现“驱动程序无法加载”消息
- sql - 在 Postgres 上如何对具有特定条件的行进行优先级排序?
- javascript - 如何在反应datagridpro中获取过滤的行
- c++ - cv::CascadeClassifier::detectMultiScale 中的断言失败 (!empty())
- laravel - 类 Illuminate\Support\Collection 的对象无法转换为 int Laravel 8
- airflow - 如何在气流舵图中添加额外的 statsd 映射配置
- python - 在部署烧瓶 api 时遇到问题,将应用程序反应到 heroku
- python - 一项气流作业比另一项具有相同代码库的作业慢得多
- python - 在熊猫数据框中分组时删除重复值
- c - 对“CreateRGBABitmapImageReference”的未定义引用