javascript - 显示表格行的函数
问题描述
我正在尝试使用下拉列表使函数显示或隐藏表行。从下拉列表中选择元素时,函数没有响应。手动在 CSS 中隐藏/显示时,类可以正常工作。if 语句没有 else 来简化代码。
<select id="vendorselect" onselect="tableshow()">
<option>Select vendor:</option>
<option id="Capintec">Capintec</option>
<option id="Exradin">Exradin</option>
</select>
<table class="ionchambers">
<tr class="CapintecTbl">
<td>Capintec PR-05P mini</td>
<td>1.046</td><td>1.045</td><td> 1.044</td>
</tr>
<tr class="ExradinTbl">
<td>Exradin P425</td>
<td>1.046</td><td>1.045</td><td>1.044</td>
</tr>
</table>
function tableshow() {
var table = document.getElementById("vendorselect").value;
if (table == "Capintec") {
document.getElementsByClassName("CapintecTbl").style.display='inline-block';
document.getElementsByClassName("ExradinTbl").style.display='none';
}
}
解决方案
更改onselect
为onchange
.
<select id="vendorselect" onchange="tableshow()">
<option>Select vendor:</option>
<option id="Capintec">Capintec</option>
<option id="Exradin">Exradin</option>
</select>
此外,JavaScript 选择器不起作用。
尝试为这些更改它们:
document.querySelector(".CapintecTbl").style.display='inline-block';
document.querySelector(".ExradinTbl").style.display='none';
推荐阅读
- android - Flutter generateJsonModelDebug 同时使用 ffi 包含的库
- oracle - 需要帮助将 Oracle 触发器转换为 Mariadb
- reactjs - 在使用 redux-observables 开始另一个史诗之前,如何等待不同的史诗完成并更新商店?
- android - 如何合并两个 Firestore 查询以作为 Kotlin 上的选项传递
- eclipse - 如何在 Eclipse 4.16 中制作功能插件或扩展。请帮助我
- python - 将重复项转换为 nan 仅保留最后一次出现
- google-cloud-platform - 谷歌云sql数据读取审计日志
- c - GCC 可以警告库中未定义的函数吗?
- c++ - 为什么这些介于 0 和 1 之间的双精度数总是打印 0?
- html - 没有填充或边距:是什么让我的表格无法获得 100% 的宽度?& 为什么当鼠标悬停在可滚动的 el 上时滚动条不随滚轮滚动?