我想根据组合框所选值的值设置文本框的可见性。 这是我的代码:
<table width="500" align="center">
<tr>
<td><span> Name:</span></td>
<td><input name="name" type="text" id="name" size="40" class=""/></td>
</tr>
<tr>
<td><span>Email ID:</span></td>
<td><input name="email" type="email" id="email" size="40" class=""/></td>
</tr>
<tr>
<td><span>Select:</span></td>
<td>
<select id="edition">
<option value="none" selected>----Select ----</option>
<option id="1">A</option>
<option id="2">B</option>
</select>
</td>
</tr>
<tr>
<td><span>Number of Licenses</span></td>
<td><input type="text" id="licenseNo" size="5" value="30" /></td>
</tr>
</table>
如果组合框的值为B,我希望licenseNo
文本框可见。我不知道如何执行此操作。
答案 0 :(得分:1)
使用JS添加事件监听器:
<script type="text/javascript">
function func() {
var elem = document.getElementById("edition");
if(elem.options[elem.selectedIndex].innerHTML == "B") {
document.getElementById("licenseNo").style.display = "";
} else {
document.getElementById("licenseNo").style.display = "none";
}
}
</script>
<select id="edition" onchange="javascript:func();">
...
</select>
也不要忘记在刚刚加载页面的时候打电话给func()
。
答案 1 :(得分:0)
您也可以像下面一样使用它。只需使用值来获取所选文本
<table width="500" align="center" >
<tr>
<td><span> Name:</span></td>
<td><input name="name" type="text" id="name" size="40" class=""/></td>
</tr>
<tr>
<td><span>Email ID:</span></td>
<td><input name="email" type="email" id="email" size="40" class=""/></td>
</tr>
<tr>
<td><span>Select:</span></td>
<td>
<select id="edition" onchange="func()">
<option value="none" selected >----Select ----</option>
<option id="1">A</option>
<option id="2">B</option>
</select>
</td>
</tr>
<tr id ="trhide">
<td><span>Number of Licenses</span></td>
<td><input type="text" id="licenseNo" size="5" value="30" /></td>
</tr>
</table>
<script type="text/javascript">
function func() {
var elem = document.getElementById("edition");
if(elem.value == "B") {
document.getElementById("trhide").style.visibility = "visible";
} else {
document.getElementById("trhide").style.visibility = "hidden";
}
}
</script>
请参阅小提琴here