IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

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

记事本 2011-05-17 08:51:58 累计浏览 1,873 次
本机暂存

工作中碰到一个变态的性能问题。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

同分类推荐文章

  1. translateZ() (2026-06-25 21:18:56)
  2. translateY() (2026-06-25 21:17:56)
  3. translateX() (2026-06-25 21:16:01)

查看更多 前端 文章 →

建议继续学习

  1. 如何成为Python高手 (累计阅读 54,992)
  2. JQuery实现Excel表格呈现 (累计阅读 48,349)
  3. 深入理解Javascript之执行上下文(Execution Context) (累计阅读 18,404)
  4. 从输入 URL 到页面加载完成的过程中都发生了什么事情? (累计阅读 15,933)
  5. 图片动态局部毛玻璃模糊效果的实现 (累计阅读 14,848)
  6. 天朝第二代身份证号码的验证机制 (累计阅读 14,761)
  7. HTML 5 的data-* 自定义属性 (累计阅读 14,349)
  8. 分享一个JQUERY颜色选择插件 (累计阅读 14,223)
  9. 什么是全栈工程师? (累计阅读 14,038)
  10. Linux 性能监控、测试、优化工具 (累计阅读 13,011)