javascript - 使用 jQuery 获取和设置下拉值

标签 javascript jquery html

如果用户从下拉列表中选择一个选项,它会显示一个文本框,但如果他选择值为“其他”的选项,则会显示一行以键入其他值。

我的代码工作正常,除非选项值不等于“其他”

<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/

相关文章:

javascript - 使用多个路由时,使用express和chokidar进行热重载会导致http header 发送错误

javascript - 用作事件处理程序的 Javascript 原型(prototype)函数内部 'this' 的值

javascript - 如何更改 iframe 中的 body css 元素?

html - CSS:以 Rails 的 `form_for` 生成的形式扩展输入框?

javascript - 使用 jQuery 加载 POST 表单

javascript - 如何在 highcharts 中使用系列数据绘制折线图?

javascript - 当 url 包含单引号时,如何使用 nock 和 request-promise 测试路由?

javascript - 如何使用 JQuery 获取 DOM 元素的 id

javascript - 根据另一个 div 的价格更改一个 div 的输出

javascript - 替换 unicode 字符