如果用户从下拉列表中选择一个选项,它会显示一个文本框,但如果他选择值为“其他”的选项,则会显示一行以键入其他值。
我的代码工作正常,除非选项值不等于“其他”
<script type="text/javascript"><!--
function setAndReset(box) {
if(box.value == 'Other'){
$("#ShowHide").hide();
}
document.FormName.hiddenInput.value = box.value;
}
//-->
</script>
<body bgcolor="#ffffff">
<form id="FormName" action="" method="get" name="FormName">
<select name="choice1" size="1" onchange="setAndReset(this);">
<option value="one">first</option>
<option value="two">second</option>
<option value="three">third</option>
<option value="other">Other</option>
</select>
<input type="text" name="hiddenInput" value="">
<tablt><tr id="ShowHide"><td>
<input type="text" name="otherInput">
</td></tr></table>
<input type="submit" name="submitButtonName">
</form>
</body>
但它不显示/隐藏并且不在文本框中设置值。
如果使用 jquery 解决了问题,那么我将感谢您提供的代码。
谢谢。
最佳答案
这样做:
$(document).ready(function() {
$("select[name=choice1]").change(function() {
$(this).val() == 'other' ? $("#ShowHide").show() : $("#ShowHide").hide();
});
});
并丢失内联 onchange 函数调用。 Try it here .
关于javascript - 使用 jQuery 获取和设置下拉值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2803836/