Javascript 仅当选择了特定选项时才显示输入字段
我正在尝试制作一个表单,用于检查是否从“select”标记中选择了某个选项。以下是我当前的HTML:Javascript 仅当选择了特定选项时才显示输入字段,javascript,html,forms,html-select,Javascript,Html,Forms,Html Select,我正在尝试制作一个表单,用于检查是否从“select”标记中选择了某个选项。以下是我当前的HTML: <select onchange="yesnoCheck()"> <option id="noCheck" value="">Valitse automerkkisi</option> <option id="noCheck" value="lada">Lada</option> <option id="n
<select onchange="yesnoCheck()">
<option id="noCheck" value="">Valitse automerkkisi</option>
<option id="noCheck" value="lada">Lada</option>
<option id="noCheck" value="mosse">Mosse</option>
<option id="noCheck" value="volga">Volga</option>
<option id="noCheck" value="vartburg">Vartburg</option>
<option id="yesCheck" value="other">Muu</option>
</select>
Valitse automerkkisi
拉达
苔藓
伏尔加
瓦尔特堡
缪
这是选择“Muu”后应可见的div元素:
<div id="ifYes" style="display: none;">
<label for="car">Muu, mikä?</label> <input type="text" id="car" name="car" /><br />
</div>
Muu,mikä
下面是我尝试使用的JavaScript:
<script type="text/javascript">
function yesnoCheck() {
if (document.getElementById("yesCheck").checked) {
document.getElementById("ifYes").style.display = "block";
} else {
document.getElementById("ifYes").style.display = "none";
}
}
</script>
函数yesnoCheck(){
if(document.getElementById(“yesCheck”).checked){
document.getElementById(“Ifies”).style.display=“block”;
}否则{
document.getElementById(“Ifies”).style.display=“无”;
}
}
但它不起作用…请检查:
也不要使用ID使用数据属性或值来检查比较 给你:
功能是否检查(该){
如果(that.value==“其他”){
警惕(“检查”);
document.getElementById(“Ifies”).style.display=“block”;
}否则{
document.getElementById(“Ifies”).style.display=“无”;
}
}
Valitse automerkkisi
拉达
苔藓
伏尔加
瓦尔特堡
缪
Muu,mikä
Valitse automerkkisi
拉达
苔藓
伏尔加
瓦尔特堡
缪
Muu,mikä
解决了它!在if函数中,我有“.checked”但它应该是“.selected”ID应该是唯一的,getElementByID只返回一个。你也可以使用类来实现这一点,但我认为数据属性或使用值更好。有了jQuery,您的代码看起来就像这个Hi,欢迎使用Stack Overflow!请坐飞机。感谢您提供答案,但您是否也可以添加关于代码如何解决问题的解释?
function yesnoCheck(that) {
if (that.value == "other") {
document.getElementById("ifYes").style.display = "block";
}elseif (that.value == "lada") {
} else {
document.getElementById("ifYes").style.display = "none";
}
}