解决Select标签的Option在IE浏览中display:none不生效的问题
页面的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不生效的问题的更多相关文章
- 解决如何通过循环来使用数据库的值设置jsp的select标签的option值
Select 处的代码: <select name="position"> <span style="white-space:pre"> ...
- select标签下option标签里value属性有什么用以及和text的区别
转自:http://blog.csdn.net/summer_sy/article/details/54572398 1:value的用处 <select > <option val ...
- html的select标签清空option!~~~~
最好的方法:document.getElementById("selectId").length = 1; 也可以document.getElementById("sel ...
- CSS - Select 标签在不同浏览器中的高度设置
当使用Select标签时,在不同浏览器中显示的高度不同,如何解决此问题: 解决方法链接:http://stackoverflow.com/questions/20477823/select-html- ...
- select标签multiple属性的用法
前些日子公司让做一个功能模块.对于里面一个小功能费了些周折,现将其总结一下: 一.实现效果: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ2FvaHVh ...
- 解决在IE6、7中用height来设定SELECT标签高度无效的兼容性问题
在IE6.7中用height来设定SELECT标签高度是无效的,宽度的话各浏览器设置都是一致的,解决方法就是在select外嵌套两层标签,一层用来遮挡select的默认边框(在IE6.7中设置bord ...
- select标签非空验证,第一个option value=""即可
select标签非空验证,第一个option value=""即可,否则不能验证
- JS实现选择不同select标签option值的验证
js实现不同select标签option值的验证 功能描述: 选择中文时,匹配中文的正则表达式,选择英文选项是匹配英文的表达式,并且有对应的提示信息. html代码片段: <select id= ...
- css解决select下拉表单option高度的办法
css在给select下拉表单设置样式如边框时可以轻松搞定,而我们在不喜欢其默认的下拉箭头的样式时试图通过background:url(图片路径)来修改之,则往往会出现浏览器的兼容性问题,在网上查了好 ...
随机推荐
- 并发编程(二):分析Boost对 互斥量和条件变量的封装及实现生产者消费者问题
请阅读上篇文章<并发编程实战: POSIX 使用互斥量和条件变量实现生产者/消费者问题>.当然不阅读亦不影响本篇文章的阅读. Boost的互斥量,条件变量做了很好的封装,因此比" ...
- pig中查询top k,返回每个hour和ad_network_id下最大两个记录(SUBSTRING,order,COUNT_STAR,limit)
pig里面是有TOP函数,不知道为什么用不了.有时间要去看看pig源码了. SET job.name 'top_k'; SET job.priority HIGH; --REGISTER piggyb ...
- SharePoint 2013: The "New Web Application" button is disabled is the central administration
安装完sharepoint foundation2013后,直接通过url访问管理中心,想进application management去新建的话会发现新建按钮是灰色的,即使你用的是系统管理员账号并且 ...
- 【shell脚本练习】判断用户存在和用户类型
题目 写一个脚本 1. 传递一个参数给脚本,此参数为用户名: 2. 如果用户存在,则执行如下任务 * 如果用户的id号小于500,显示其为管理员或系统用户: * 否则,显示其为普通用户: 3. 如果用 ...
- (NO.00001)iOS游戏SpeedBoy Lite成形记(九)
我们回到matchRun方法中去尝试第一次修改,部分代码如下: CCActionMoveBy *moveBy = [CCActionMoveBy actionWithDuration:duration ...
- 漫谈程序员(十)大白菜装机版安装win7系统使用教程
大白菜装机版安装win7系统使用教程 安装win7系统准备工作: ①使用大白菜装机版,制作一个大白菜u盘启动盘 ②将下载好的ghost win7系统镜像包放入制作好的大白菜u盘启动盘中. ③更改电脑硬 ...
- div+css基础教程
本文存下来作为备忘. 第一节 了解div+css 一.什么是div+css div元素是html(超文本语言)中的一个元素,是标签,用来为html文档内大块(block-level)的内容提供结构和 ...
- HBase写数据
1 多HTable并发写 创建多个HTable客户端用于写操作,提高写数据的吞吐量,一个例子: static final Configuration conf = HBaseConfiguration ...
- Java-ServletContextAttributeListener
/** Implementations of this interface receive notifications of ** changes to the attribute list on t ...
- 如何解决Asp.Net中不能上传压缩文件的问题
在使用Asp.Net自带的服务器端控件Fileupload上传文件时,可能会出现不能上传压缩文件的问题,此时可以通过下面的方法解决: 在<system.web>中添加: <httpR ...