javascript - 隐藏/显示 jquery 中的选择框选项?

标签 javascript jquery html drop-down-menu

我在 jsp 中有以下代码片段

<HTML>
 <BODY>
     <select id="customerIds" onchange="doOperation()">
                <option value="default"> Start..</option>
                  <div id="action1" class="action1">
                    <option value="1"> 1</option>
                    <option value="2"> 2</option>
                    <option value="3"> 3 </option>
                  </div>
                  <div id="action2" class="action2">
                    <option value="4"> 4 </option>
                  </div>
                  <option value="5"> 5 </option>
              </select>
 </BODY>
</HTML>

单击某个按钮时,我想隐藏 id 为“action1”的选项,并显示 id 为“action2”的选项。所以我试了一下

  $('#action1').hide();
  $('#action2').show();

但这没有用。没有得到什么问题?在 Firebug 中,当我试图检查选择框时,我没有找到任何 div 标签(即 带有 ids action1/action2 ) 以上选项。

最佳答案

使用下面的 javascript 函数,其中 showOptionsClass 是为您要显示的每个选项指定的类。这会 在跨浏览器中工作。

function showHideSelectOptions(showOptionsClass) {
    var optionsSelect = $('#selectId');
    optionsSelect.find('option').map(function() {
        return $(this).parent('span').length == 0 ? this : null;
    }).wrap('<span>').attr('selected', false).hide();

    optionsSelect.find('option.' + showOptionsClass).unwrap().show()
        .first().attr('selected', 'selected');
  }

关于javascript - 隐藏/显示 jquery 中的选择框选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14134119/

相关文章:

javascript - Google Maps API v3 无法在移动浏览器或 PhoneGap 中运行

jquery - CSS3 不适用于 Bootstrap

javascript - 滑动导航菜单 (sliiide.js) 部分工作

javascript - 如何将输入框中的值复制到 Jquery 脚本内部?

javascript - 响应和页面加载之间 15 秒的重 Javascript 页面间隔

jquery - 如果不存在,则将 `http://` 添加到字符串中

html - 文本和下划线的 CSS 定位

PHP 在下拉列表中显示菜单树

html - 你能用 <div> 标签包围 <li> 标签吗

javascript - 将按钮添加到新元素