html下拉框的option隐藏,完美解决html中select的option不能隐藏的问题。

5268f80b9b1e01f982625ef6fac83ca1.png

开发过程中无意遇到这个问题,解决问题第一时间就是百度。结果得到如下方法:

1、首先设置option的display:none的方案肯定是不可行了;

2、某网友提出的两种方案:

a.在option标签上面加上disabled="disabled"属性,表示不可用,这种方案只是让option不能选择,但没有隐藏掉

b.如果想隐藏掉,只能把option从DOM树中去除,然后对去除的option进行缓存,在要显示的时候再将option从缓存中取出加入DOM树中

肯定也是不符合需求的。

c、终极方案(经测试兼容各浏览器):给option外加一个父级标签,并设置父级标签隐藏[此处用的是span标签],如果要显示的话则去除父级标签即可。

然而上面这么多种办法并没什么用

最后解决办法://将select通过clone方法保存

var select= $("#select").clone();

//删除所有的option

$("#select").find('option').remove();

//查找出需要显示的option并复制

var options = select.find("option[value=1]").clone();

//将需要显示的option添加到select中

$("#select").append(options);

//因为option.remove()不会刷新控件,需要将新的option切换上去

//这里排除了options.size() == 0的情况

$("#select").find('option').eq(0).attr("selected",true);

这样就好了。

更多完美解决html中select的option不能隐藏的问题。 相关文章请关注PHP中文网!

1428d0e076c3959ab11d28a39bc84fab.png

5268f80b9b1e01f982625ef6fac83ca1.png

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值