页面的Select标签,需要控制Select的Option不需要显示,根据条件来隐藏某些Option选项。

正常情况下使用hide()就能实现,hide()方法实际是给Option加上display属性(display:none),这样就可以隐藏掉Option;

但是IE浏览器下Option(display:none)是不生效的,解决方案是:直接对Option包一层,加Span标签。

例子:

如下图显示:通过第一个Select选择Option来控制是否显示第二个Select的Option选项。

        <select id="sel-platform" onchange="selPlatform(this);" name="sel-platform" style="width: 202px; height: 26px;" class="valid">
<option data-group="Aliyun" selected="selected">Aliyun</option>
<option data-group="CentOS">CentOS</option>
<option data-group="CoreOS">CoreOS</option>
<option data-group="Debian">Debian</option>
<option data-group="Freebsd">Freebsd</option>
<option data-group="openSUSE">openSUSE</option>
<option data-group="SUSE">SUSE</option>
<option data-group="Ubuntu">Ubuntu</option>
<option data-group="Windows Server 2008">Windows Server 2008</option>
<option data-group="Windows Server 2012">Windows Server 2012</option>
<option data-group="Windows Server 2016">Windows Server 2016</option>
</select> <select id="sel-osname" name="sel-osname" style="width: 380px; height: 26px;" class="valid">
<option data-group="Aliyun" data-value="alinux_17_01_64_20G_cloudinit_20171222.vhd" selected="selected">Aliyun Linux 17.1 64位</option>
<option data-group="CentOS" data-value="centos_6_08_32_40G_alibase_20170710.vhd">CentOS 6.8 32位</option>
<option data-group="CentOS" data-value="centos_6_08_64_20G_alibase_20170824.vhd">CentOS 6.8 64位</option>
<option data-group="CentOS" data-value="centos_6_09_64_20G_alibase_20170825.vhd">CentOS 6.9 64位</option>
<option data-group="CentOS" data-value="centos_7_02_64_20G_alibase_20170818.vhd">CentOS 7.2 64位</option>
<option data-group="CentOS" data-value="centos_7_03_64_20G_alibase_20170818.vhd">CentOS 7.3 64位</option>
<option data-group="CoreOS" data-value="coreos_1465_8_0_64_30G_alibase_20171024.vhd">CoreOS 1465.8.0 64位</option>
<option data-group="Debian" data-value="debian_8_09_64_20G_alibase_20170824.vhd">Debian 8.9 64位</option>
<option data-group="Debian" data-value="debian_9_02_64_20G_alibase_20171023.vhd">Debian 9.2 64位</option>
<option data-group="Freebsd" data-value="freebsd_11_03_64_20G_alibase_20170901.vhd">FreeBSD 11.1 64位</option>
<option data-group="openSUSE" data-value="opensuse_42_03_64_20G_alibase_20171031.vhd">OpenSUSE 42.3 64位</option>
<option data-group="SUSE" data-value="sles_11_sp4_64_20G_alibase_20170907.vhd">SUSE Linux Enterprise Server 11 SP4 64位</option>
<option data-group="Ubuntu" data-value="ubuntu_14_0405_32_40G_alibase_20170711.vhd">Ubuntu 14.04 32位</option>
<option data-group="Ubuntu" data-value="ubuntu_14_0405_64_20G_alibase_20170824.vhd">Ubuntu 14.04 64位</option>
<option data-group="Ubuntu" data-value="ubuntu_16_0402_32_40G_alibase_20170711.vhd">Ubuntu 16.04 32位</option>
<option data-group="Ubuntu" data-value="ubuntu_16_0402_64_20G_alibase_20171227.vhd">Ubuntu 16.04 64位</option>
<option data-group="Windows Server 2008" data-value="win2008_32_std_sp2_zh-cn_40G_alibase_20170622.vhd">Windows Server 2008 标准版 SP2 32位中文版</option>
<option data-group="Windows Server 2008" data-value="win2008r2_64_ent_sp1_en-us_40G_alibase_20170915.vhd">Windows Server 2008 R2 企业版 64位英文版</option>
<option data-group="Windows Server 2008" data-value="win2008r2_64_ent_sp1_zh-cn_40G_alibase_20170915.vhd">Windows Server 2008 R2 企业版 64位中文版</option>
<option data-group="Windows Server 2012" data-value="win2012r2_64_dtc_17196_en-us_40G_alibase_20170915.vhd">Windows Server 2012 R2 数据中心版 64位英文版</option>
<option data-group="Windows Server 2012" data-value="win2012r2_64_dtc_17196_zh-cn_40G_alibase_20170915.vhd">Windows Server 2012 R2 数据中心版 64位中文版</option>
<option data-group="Windows Server 2016" data-value="win2016_64_dtc_1607_en-us_40G_alibase_20170915.vhd">Windows Server 2016 数据中心版 64位英文版</option>
<option data-group="Windows Server 2016" data-value="win2016_64_dtc_1607_zh-cn_40G_alibase_20170915.vhd">Windows Server 2016 数据中心版 64位中文版</option>
<option data-group="Windows Server 2016" data-value="winsvr_64_dtcC_1709_en-us_40G_alibase_20171115.vhd">Windows Server Version 1709 数据中心版 64位英文版(不含UI)</option>
<option data-group="Windows Server 2016" data-value="winsvr_64_dtcC_1709_zh-cn_40G_alibase_20171115.vhd">Windows Server Version 1709 数据中心版 64位中文版(不含UI)</option>
</select>

实现方法的脚本如下:

 <script>
$(function(){ //默认选取第一个
$("#sel-platform option:first").attr("selected",true);
selPlatform($("#sel-platform"))
}); function selPlatform(obj){
var gName=$(obj).find("option:selected").attr("data-group"); $("#sel-osname>option").each(function(){
$(this).wrap("<span style='display:none'></span>");
}); $("#sel-osname option[data-group='" + gName + "']").show(); $("#sel-osname option[data-group='" + gName + "']").each(function(){
$(this).clone().replaceAll($(this).parent());
}); }
</script>

解决Select标签的Option在IE浏览中display:none不生效的问题的更多相关文章

  1. 解决如何通过循环来使用数据库的值设置jsp的select标签的option值

    Select 处的代码: <select name="position"> <span style="white-space:pre"> ...

  2. select标签下option标签里value属性有什么用以及和text的区别

    转自:http://blog.csdn.net/summer_sy/article/details/54572398 1:value的用处 <select > <option val ...

  3. html的select标签清空option!~~~~

    最好的方法:document.getElementById("selectId").length = 1; 也可以document.getElementById("sel ...

  4. CSS - Select 标签在不同浏览器中的高度设置

    当使用Select标签时,在不同浏览器中显示的高度不同,如何解决此问题: 解决方法链接:http://stackoverflow.com/questions/20477823/select-html- ...

  5. select标签multiple属性的用法

    前些日子公司让做一个功能模块.对于里面一个小功能费了些周折,现将其总结一下: 一.实现效果: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ2FvaHVh ...

  6. 解决在IE6、7中用height来设定SELECT标签高度无效的兼容性问题

    在IE6.7中用height来设定SELECT标签高度是无效的,宽度的话各浏览器设置都是一致的,解决方法就是在select外嵌套两层标签,一层用来遮挡select的默认边框(在IE6.7中设置bord ...

  7. select标签非空验证,第一个option value=""即可

    select标签非空验证,第一个option value=""即可,否则不能验证

  8. JS实现选择不同select标签option值的验证

    js实现不同select标签option值的验证 功能描述: 选择中文时,匹配中文的正则表达式,选择英文选项是匹配英文的表达式,并且有对应的提示信息. html代码片段: <select id= ...

  9. css解决select下拉表单option高度的办法

    css在给select下拉表单设置样式如边框时可以轻松搞定,而我们在不喜欢其默认的下拉箭头的样式时试图通过background:url(图片路径)来修改之,则往往会出现浏览器的兼容性问题,在网上查了好 ...

随机推荐

  1. 【Android 多媒体开发】 MediaPlayer 网络视频播放器

    作者 : 万境绝尘 (octopus_truth@163.com) 转载请著名出处 : http://blog.csdn.net/shulianghan/article/details/3889514 ...

  2. 【嵌入式开发】向开发板中烧写Linux系统-型号S3C6410

    作者 : 万境绝尘 转载请著名出处 终于拿到板子了, 嵌入式开发正式开启. 板子型号 : 三星 S3C6410 基于ARM11, 指令集基于arm6指令集; 为毛不是 Cortext A9的板子; 烧 ...

  3. 【Unity Shaders】概述及Diffuse Shading介绍

    本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源 ...

  4. hibernate关联对象的增删改查------增

    本文可作为,北京尚学堂马士兵hibernate课程的学习笔记. 这一节,我们看看hibernate关联关系的增删改查 就关联关系而已,咱们在上一节已经提了很多了,一对多,多对一,单向,双向... 其实 ...

  5. android开发性能分析

    1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关于性能的建议,感觉大家你一总结.我一总结的都说到了很多优化注意事项,但是看过这些文章后大多数存在一个问题就是只 ...

  6. TrueType和Bitmap字体的区别

    只要标签的文本从不变化,在cocos2D中渲染TrueType和bitmap字体的性能是相同的.它们都仅仅像精灵那样绘制. 如果你希望大量的标签使用相同字体,则bitmap字体将更快.因为bitmap ...

  7. hibernate 动态多数据库

    最近老师给了一个任务,需求是这样的 服务器A上有一张表,里面存放了若干个服务器的信息,表的字段包括: private int id; private String serverName; privat ...

  8. cocos2d-x 游戏开发之有限状态机(FSM) (三)

    cocos2d-x 游戏开发之有限状态机(FSM) (三) 有限状态机简称FSM,现在我们创建一个专门的FSM类,负责管理对象(Monkey)的状态.然后Monkey类就实现了行为与状态分离.Monk ...

  9. SpriteBuilder中锚点的一般用法

    注意:改变节点的锚点(anchor point)将会影响缩放和旋转操作,也会影响边界边框和碰撞的检测. 锚点仅仅挪动节点的视觉表现,这种改变可能与物理表现不一致. 你绝不应该错误的挪动锚点去改变节点的 ...

  10. 基于MT6752/32平台 Android L版本驱动移植步骤

    基于MT6752/32平台 Android L版本驱动移植步骤 根据MK官网所述,在Android L 版本上Turnkey ABS 架构将会phase out,而Mediatek Turnkey架构 ...