首页 > 解决方案 > 除非事先选择,否则 JQuery 试图在下拉菜单中隐藏一个选项

问题描述

我是 PHP 和 JQuery 的新手,我正在尝试找出一种方法来隐藏选项,直到它被选中。

我有这个列表,有很多选项可供选择。但是,如果默认设置为否,我只想隐藏一个选项,如果选择是,则仅显示在排序方式下拉菜单中。

在后台,当这生成一个表单时,默认情况下有一个时间列并且有效日期不存在,因此有效日期默认为否。一旦选择为是,那么在表单上时间将被替换为有效日期显示在排序方式下拉列表中并且可以被选中。

HTML:

<tr><td>Effective Dates</td>
    <td><select name="effDate" id="effDate">
        <option value='N' selected>No</option>
        <option value='Y'>Yes</option>
    </select></td></tr>

<tr><td>Sort By</td>
    <td><select name="sortBy" id="sortBy">
        <option value="A">Account</option>
        <option value="H">Branch</option>
        <option value="N">Name</option>
        <option value="C" selected>Transaction Time</option>
        <option id="ED" value="E">Effective Date</option>
        <option value="U">User</option>
</select></td></tr>

我通过 Stackoverflow 遇到了这个显示/隐藏脚本,但我想我误解了它的设计,因为我缺乏 JQuery 知识:

$("#effDate").change(function () {
    var selected_option = $('#effDate').val();
    if (selected_option === 'N') {
        $('#ED').hide();
    }
    if (selected_option == 'Y') {
        $("#ED").show();
    }
})

我也在使用我通过 Stackoverflow 发现的 jsfiddle 并尝试使用它,但我不知道我在做什么......

有什么建议吗?帮助?

标签: jqueryhideshow

解决方案


推荐阅读