技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> JavaScript --> 快速清除多选框的已选中状态

快速清除多选框的已选中状态

浏览:1300次  出处信息

工作中碰到一个变态的性能问题。CMS中有个页面,上面有个多选框,其中有14000个选项。页面中提供给用户一个按钮,点击这个按钮时要清除已选中状态。原有的代码是这样的:

1
2
3
4
5
function re() {
    for (var i = 0; i < document.form1.totopicid.options.length; i++) {
        document.form1.totopicid.options[i].selected = false;
    }
}

先抛开循环时多次计算length的问题不谈,光是执行14000次的document.form1.totopicid.options[i].selected = false;就要用户等很长时间。其实有一种更快捷的方式去做这件事情。代码如下:

1
2
3
4
5
function re() {
    var select = document.form1.totopicid;
    select.selectedIndex = 0;
    select.options[0].selected = false;
}

这样不仅代码量小,而且性能也能得到很大提升。

=================================================

编者注:

不晓得V 回复@IT技术博客大学习:没骗你,真的~这篇博客,1、内容没有技术含量;2、题目与代码不相符;代码内是操作下拉单选框的;但是题目写的是多选框.....当大家不懂html哦...

峰大大 回复@IT技术博客大学习: 原文说的是具有multiple属性的select,那位大概是想成了type=checkbox的input

QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1