如何使用 select 显示隐藏的输入框
How to display a hidden inputfield with select
我正在尝试使用 select 来显示隐藏的输入字段。使用选项 2 我想显示输入字段,使用选项 1 我想再次隐藏它。
有人知道我需要在代码中更改什么吗?
提前致谢
function showFooField() {
document.getElementById("nameFoo").style.display = "block";
}
#nameFoo {
display:none;
}
<select onchange="showFooField()" name="foo" id="foo" class="form-control">
<option value="1" selected>1</option>
<option value="2">2</option>
</select>
<div id="nameFoo">
<input id="name" required />
<div>
您在更改显示之前没有测试该值。
我会使用 class 和切换
window.addEventListener("load", () => { // when the page loads
document.getElementById("foo").addEventListener("change", function() {
document.getElementById("nameFoo").classList.toggle("hide", this.value === "1")
})
})
.hide {
display: none;
}
<select name="foo" id="foo" class="form-control">
<option value="1" selected>1</option>
<option value="2">2</option>
</select>
<div id="nameFoo" class="hide">
<input id="name" required />
</div>
运行 检查 select 值,您可以从那里操纵样式
const el = document.getElementById("foo");
const inputEl = document.getElementById("nameFoo");
el.addEventListener("change", function() {
if (this.value === "1") {
inputEl.style.display = "none";
}
else {
inputEl.style.display = "block";
}
});
<select name="foo" id="foo" class="form-control">
<option value="1" selected>1</option>
<option value="2">2</option>
</select>
<div id="nameFoo" style="display: none">
<input id="name" required />
<div>
我正在尝试使用 select 来显示隐藏的输入字段。使用选项 2 我想显示输入字段,使用选项 1 我想再次隐藏它。
有人知道我需要在代码中更改什么吗?
提前致谢
function showFooField() {
document.getElementById("nameFoo").style.display = "block";
}
#nameFoo {
display:none;
}
<select onchange="showFooField()" name="foo" id="foo" class="form-control">
<option value="1" selected>1</option>
<option value="2">2</option>
</select>
<div id="nameFoo">
<input id="name" required />
<div>
您在更改显示之前没有测试该值。
我会使用 class 和切换
window.addEventListener("load", () => { // when the page loads
document.getElementById("foo").addEventListener("change", function() {
document.getElementById("nameFoo").classList.toggle("hide", this.value === "1")
})
})
.hide {
display: none;
}
<select name="foo" id="foo" class="form-control">
<option value="1" selected>1</option>
<option value="2">2</option>
</select>
<div id="nameFoo" class="hide">
<input id="name" required />
</div>
运行 检查 select 值,您可以从那里操纵样式
const el = document.getElementById("foo");
const inputEl = document.getElementById("nameFoo");
el.addEventListener("change", function() {
if (this.value === "1") {
inputEl.style.display = "none";
}
else {
inputEl.style.display = "block";
}
});
<select name="foo" id="foo" class="form-control">
<option value="1" selected>1</option>
<option value="2">2</option>
</select>
<div id="nameFoo" style="display: none">
<input id="name" required />
<div>