javascript操作select元素实例分析


Posted in Javascript onMarch 27, 2015

本文实例讲述了javascript操作select元素的用法。分享给大家供大家参考。具体分析如下:

这里熟悉一下js对select元素的操作,html页面中建立一个form,其中包含一个select元素和submit按钮。

当选择select中某一项时改变其文字,当select中所有项的文字都改变后,重新恢复它们。

当按下submit时关闭窗口本身,代码如下:

<!DOCTYPE html>
<html>
<head>
<title>duang for select elements</title>
<script type="text/javascript">
 function do_change(elt){
  var text = elt[elt.selectedIndex].innerHTML;
  if(!text.match(/\[/))
   elt[elt.selectedIndex].innerHTML += " [duang]";
  var is_all_seleted = true;
  for(var i=0;i<elt.length;++i){
   if(!elt[i].innerHTML.match(/\[/)){
    is_all_seleted = false;
    break;
   }
  }
  if(is_all_seleted){
   alert("all duang!!!\nand reset it!!!");
   for(var i=0;i<elt.length;++i){
    elt[i].innerHTML = elt[i].innerHTML.replace(/\s\[.*\]/,"")
   }
  }
 }
</script>
</head>
<body>
 <form id="frm_main" action="#" method="post">
  <select id="slt" onchange="do_change(this);">
   <option value="opt_1">opt A</option>
   <option value="opt_2">opt B</option>
   <option value="opt_3">opt C</option>
   <option value="opt_4">opt D</option>
   <option value="opt_5">opt E</option>
  </select>
  <input type="submit" value="close window" onclick="window.close();"/>
 </form>
</body>
</html>

在firefox中一开始貌似无法关闭窗口本身,后来发现在about:config中设置dom.allow_scripts_to_close_windows为true即可。

如果每个select中的选项变化没有规律,则可以写一个on_change_ex来处理,代码如下:

function do_change_ex(me){
  var text = me[me.selectedIndex].innerHTML;
  if(!text.match(/\[/)){
   me[me.selectedIndex].text_bak = me[me.selectedIndex].innerHTML;
   me[me.selectedIndex].innerHTML += " [duang]";
   me[me.selectedIndex].is_changed = true;
  }
  var is_all_seleted = true;
  for(var i=0;i<me.length;++i){
   if(!me[i].is_changed){
    is_all_seleted = false;
    break;
   }
  }
  if(is_all_seleted){
   alert("all duang!!!\nand reset it!!!");
   for(var i=0;i<me.length;++i){
    me[i].innerHTML = me[i].text_bak;
    me[i].is_changed = false;
   }
  }
}

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
JavaScript代码轻松实现网页内容禁止复制(代码简单)
Oct 23 Javascript
全面了解JS中的匿名函数
Jun 29 Javascript
JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案
Jul 27 Javascript
js 实现数值的千分位及保存小数方法(推荐)
Aug 01 Javascript
javascript 解决浏览器不支持的问题
Sep 24 Javascript
js 点击a标签 获取a的自定义属性方法
Nov 21 Javascript
React快速入门教程
Jan 17 Javascript
10道典型的JavaScript面试题
Mar 22 Javascript
vue动态路由实现多级嵌套面包屑的思路与方法
Aug 16 Javascript
使用layer模态框给新页面传值的方法
Sep 27 Javascript
JS实现秒杀倒计时特效
Jan 02 Javascript
jQuery实现本地存储
Dec 22 jQuery
jquery使用slideDown实现模块缓慢拉出效果的方法
Mar 27 #Javascript
jQuery使用slideUp方法实现控制元素缓慢收起
Mar 27 #Javascript
jquery使用animate方法实现控制元素移动
Mar 27 #Javascript
jQuery获取标签文本内容和html内容的方法
Mar 27 #Javascript
Node.js 去掉种子(torrent)文件里的邪恶信息
Mar 27 #Javascript
jQuery使用attr()方法同时设置多个属性值用法实例
Mar 26 #Javascript
jQuery使用prepend()方法在元素前添加内容用法实例
Mar 26 #Javascript
You might like
php木马webshell扫描器代码
2012/01/25 PHP
PHP程序员必须清楚的问题汇总
2014/12/18 PHP
js树形控件脚本代码
2008/07/24 Javascript
写给想学习Javascript的朋友一点学习经验小结
2010/11/23 Javascript
用Javascript评估用户输入密码的强度实现代码
2011/11/30 Javascript
基于JavaScript 数据类型之Boolean类型分析介绍
2013/04/19 Javascript
浅析document.ready和window.onload的区别讲解
2013/12/18 Javascript
JavaScript避免内存泄露及内存管理技巧
2014/09/05 Javascript
jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
2016/01/18 Javascript
微信小程序 富文本转文本实例详解
2016/10/24 Javascript
解析js如何获取css样式
2016/12/11 Javascript
jquery获取transform里的值实现方法
2017/12/12 jQuery
JS脚本实现网页自动秒杀点击
2018/01/11 Javascript
vue 自定义右键样式的实例代码
2019/11/06 Javascript
javascript执行上下文、变量对象实例分析
2020/04/25 Javascript
Node.js API详解之 vm模块用法实例分析
2020/05/27 Javascript
js实现菜单跳转效果
2020/12/11 Javascript
Python获取当前时间的方法
2014/01/14 Python
python 网络编程常用代码段
2016/08/28 Python
python 中的list和array的不同之处及转换问题
2018/03/13 Python
对Python3+gdal 读取tiff格式数据的实例讲解
2018/12/04 Python
python正则爬取某段子网站前20页段子(request库)过程解析
2019/08/10 Python
python多环境切换及pyenv使用过程详解
2019/09/27 Python
python读取图片的几种方式及图像宽和高的存储顺序
2020/02/11 Python
python Shapely使用指南详解
2020/02/18 Python
python操作微信自动发消息的实现(微信聊天机器人)
2020/07/14 Python
柯基袜:Corgi Socks
2017/01/26 全球购物
销售行政专员职责
2014/01/03 职场文书
前台文员职责范本
2014/03/07 职场文书
加入学生会演讲稿
2014/04/24 职场文书
刑事和解协议书范本
2014/11/19 职场文书
2015年三年级班主任工作总结
2015/05/21 职场文书
python 下载文件的几种方式分享
2021/04/07 Python
MySQL update set 和 and的区别
2021/05/08 MySQL
使用Djongo模块在Django中使用MongoDB数据库
2021/06/20 Python
MySQL8.0的WITH查询详情
2021/08/30 MySQL