我想要一个下拉菜单,如果我选择value1
,我会得到几个输入字段,如果我选择value2
,我会得到一些其他输入字段。所以我在网上发现了这个代码,我正在尝试根据自己的需要进行调整。不幸的是它不起作用,表总是显示。如果我不使用表(只是纯文本)代码工作。
的Javascript
<script type='text/javascript' src='http://jsfiddle.net/js/lib/mootools-core-1.4.5-nocompat.js'></script>
<script type='text/javascript'>
function showForm(id) {
document.getElementById('submitForm').style.display = "block";
if (id == 0) {
document.getElementById('submitForm').style.display = "none";
}
for (var i = 1; i < 4; i++) {
if (i == id) {
document.getElementById(i).style.display = 'block';
} else {
document.getElementById(i).style.display = 'none';
}
}
}
</script>
HTML
<table>
<tr>
<td>Selecteer uw materiaal: </td>
<td>
<select id="dropdownMenu" name="dropdownMenu" onchange="javascript: showForm(document.getElementById('dropdownMenu').value);">
<option value="0">Choose an option</option>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Other</option>
</select></td>
</tr>
<div id="1" style="display: none;">
<tr>
<td>Aantal videobanden: </td>
<td><input type="text" name="aantalVideo" value="" /></td>
</tr>
<tr>
<td>Geschatte speelduur (in minuten): </td>
<td><input type="text" name="duurVideo" value="" /></td>
</tr>
</div><!-- /1 -->
<div id="2" style="display: none;">
<tr>
<td>Aantal spoelen: </td>
<td><input type="text" name="aantalSpoelen" value="" /></td>
</tr>
<tr>
<td>Geschatte speelduur (in minuten): </td>
<td><input type="text" name="duurSpoelen" value="" /></td>
</tr>
</div><!-- /2 -->
<div id="3" style="display: none;">
<tr>
<td> </td>
<td>Overig</td>
</tr>
</div><!-- /3 -->
<div id="submitForm" style="display: none;">
<tr>
<td> </td>
<td><input value=" Order aanmaken " type="submit"></td>
</tr>
</div><!-- /submitForm -->
</table>
答案 0 :(得分:1)
为什么不将这些id赋予tr元素而不是创建div。我尝试改变一些页面结构。有效。我将给予div元素的id分配给它们中的tr元素并且它有效。