javascript - 在满足选择的条件后,显示或隐藏进一步的选择
问题描述
我有以下问题,因为我在互联网上没有找到任何东西。我用 HTML 创建了几个选择。选择有选项是/否。第一个选择检查主题是否相关,如果不相关,则该主题的其余选择应该消失。然后,我使用按钮发送选择的评估(使用 php 评估),但希望直接在从是到否的更改之间具有行为。我对所有可能性持开放态度,无论是 CSS、HTML 还是 JavaScript。另外,我所有的选择都在一个“div”中
解决方案
在您的复选框上,您可以onchange="changeChk()"
像这样添加:
<input type="checkbox" id="checkId" onchange="changeChk()">
然后在 Javascript 中,您可以在此函数中使其他复选框消失/出现:
function changeChk() {
if (document.getElementById('checkId').checked) {
document.getElementById("otherchk").classList.remove("hidden");
} else {
document.getElementById("otherchk").classList.add("hidden");
}
有一点CSS:
.hidden {
visibility: hidden;
}
我用一个跨度包围复选框以使标签也消失的示例:
function changeChk() {
if (!document.getElementById('checkId').checked) {
document.getElementById("spanDisappear").classList.remove("hidden");
} else {
document.getElementById("spanDisappear").classList.add("hidden");
}
}
.hidden {
visibility: hidden;
}
<input type="checkbox" id="checkId" onchange="changeChk()"> this will always be here
<span id="spanDisappear"><input type="checkbox" id="otherchk"> this will disappear</span>
如果你有一个选择,它(几乎)是一样的。
在您的选择中,您可以添加onchange="changeValue()"
然后在 Javascript 中您可以使其他选择消失/出现。
例子:
function updateView() {
if (document.getElementById('whateverDDL').value == "yes") {
document.getElementById("spanDisappear").classList.remove("hidden");
} else {
document.getElementById("spanDisappear").classList.add("hidden");
}
}
.hidden {
visibility: hidden;
}
<p>
<select id="whateverDDL" onchange="updateView()"><option value="yes">Of course</option><option value="no">Absolutely not</option></select> this will always be here
</p>
<span id="spanDisappear"><input type="text" id="otherchk"> this will disappear</span>
推荐阅读
- asp.net - 一项下拉更改正在更改所有其他下拉选择值
- r - R knitr save_kable 纯html输出
- python - 如何在 Python 中打开 .csv 文件
- java - Java从其他两个具有不同对象和公共属性的列表构建一个列表
- python - 替换 Word 2000 doc 中的图像
- javascript - Array[Object] 作为对象递归问题(p5.js)中的属性?
- java - 好像多窗口应用 JFrame Java
- xml - 在 XMLTABLE (Oracle) 中使用 xmlnamesspaces 子句
- python - 将抓取的数据存储到 MySQL
- python - 图例无法正确放置数据和标签