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 相关文章推荐
表格 隔行换色升级版
Nov 07 Javascript
javascript中this做事件参数相关问题解答
Mar 17 Javascript
获取offsetTop和offsetLeft值的js代码(兼容)
Apr 16 Javascript
js禁止页面使用右键(简单示例代码)
Nov 13 Javascript
javascript转换静态图片,增加粒子动画效果
May 28 Javascript
JavaScript中reduce()方法的使用详解
Jun 09 Javascript
jQuery 判断元素整理汇总
Feb 28 Javascript
Vue.js学习笔记之常用模板语法详解
Jul 25 Javascript
基于ionic实现下拉刷新功能
May 10 Javascript
小程序视频列表中视频的播放与停止的示例代码
Jul 20 Javascript
解决element UI 自定义传参的问题
Aug 22 Javascript
微信小程序实现天气预报功能(附源码)
Dec 10 Javascript
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
zf框架的校验器使用使用示例(自定义校验器和校验器链)
2014/03/13 PHP
php中文验证码实现方法
2015/06/18 PHP
Yii2 中实现单点登录的方法
2018/03/09 PHP
javascript 限制输入和粘贴(IE,firefox测试通过)
2008/11/14 Javascript
jQuery+css实现图片滚动效果(附源码)
2013/03/18 Javascript
用客户端js实现带省略号的分页
2013/04/27 Javascript
多种方式实现JS调用后台方法进行数据交互
2013/08/20 Javascript
浅谈javascript中字符串String与数组Array
2014/12/31 Javascript
Javascript中的方法和匿名方法实例详解
2015/06/13 Javascript
jquery实现仿新浪微博评论滚动效果
2015/08/06 Javascript
通过JS和PHP两种方法判断用户请求时使用的浏览器类型
2016/09/01 Javascript
switch语句的妙用(必看篇)
2016/10/03 Javascript
微信小程序 网络API Websocket详解
2016/11/09 Javascript
基于jQuery代码实现圆形菜单展开收缩效果
2017/02/13 Javascript
使用ionic播放轮询广告的实现方法(必看)
2017/04/24 Javascript
Vue之Watcher源码解析(1)
2017/07/19 Javascript
利用百度地图API获取当前位置信息的实例
2017/11/06 Javascript
vue下拉列表功能实例代码
2018/04/08 Javascript
jquery实现的简单轮播图功能【适合新手】
2018/08/17 jQuery
从组件封装看Vue的作用域插槽的实现
2019/02/12 Javascript
Node.js Windows Binary二进制文件安装方法
2019/05/16 Javascript
JS画布动态实现黑客帝国背景效果
2020/11/08 Javascript
Python实现在线程里运行scrapy的方法
2015/04/07 Python
Python 模拟员工信息数据库操作的实例
2017/10/23 Python
python实现文件助手中查看微信撤回消息
2019/04/29 Python
Python字典推导式将cookie字符串转化为字典解析
2019/08/10 Python
Python 取numpy数组的某几行某几列方法
2019/10/24 Python
PyTorch和Keras计算模型参数的例子
2020/01/02 Python
python使用多线程+socket实现端口扫描
2020/05/28 Python
flask项目集成swagger的方法
2020/12/09 Python
html5 input输入实时检测以及延时优化
2018/07/18 HTML / CSS
学生未请假就回家检讨书
2014/09/22 职场文书
无刑事犯罪记录证明范本
2014/09/29 职场文书
幼儿园感恩节活动方案
2014/10/06 职场文书
缓刑期间思想汇报范文
2014/10/10 职场文书
关于Python中*args和**kwargs的深入理解
2021/08/07 Python