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 相关文章推荐
js 编程笔记 无名函数
Jun 28 Javascript
js 利用className得到对象的实现代码
Nov 15 Javascript
href下载文件根据id取url并下载
May 28 Javascript
文本框倒叙输入让输入框的焦点始终在最开始的位置
Sep 01 Javascript
JavaScript实现自动变换表格边框颜色
May 08 Javascript
jQuery实现右侧显示可向左滑动展示的深色QQ客服效果代码
Oct 23 Javascript
JavaScript iframe数据共享接口实现方法
Jan 06 Javascript
限制文本框只能输入数字||只能是数字和小数点||只能是整数和浮点数
May 27 Javascript
JS导出PDF插件的方法(支持中文、图片使用路径)
Jul 12 Javascript
ES6教程之for循环和Map,Set用法分析
Apr 10 Javascript
微信小程序之购物车功能
Sep 23 Javascript
JS实现模糊查询带下拉匹配效果
Jun 21 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
新安装的MySQL数据库需要注意的安全知识
2008/07/30 PHP
PHP 实现判断用户是否手机访问
2015/01/21 PHP
php+ajax注册实时验证功能
2016/07/20 PHP
微信自定义分享php代码分析
2016/11/24 PHP
Linux下源码包安装Swoole及基本使用操作图文详解
2019/04/02 PHP
Laravel创建数据库表结构的例子
2019/10/09 PHP
Laravel5.1 框架数据库操作DB运行原生SQL的方法分析
2020/01/07 PHP
改进:论坛UBB代码自动插入方式
2006/12/22 Javascript
做网页的一些技巧(续)
2007/02/01 Javascript
Javascript &amp; DHTML 实例编程(教程)基础知识
2007/06/02 Javascript
JS 去前后空格大全(IE9亲测)
2013/07/15 Javascript
简单的js图片轮换代码(js图片轮播)
2014/05/06 Javascript
用jquery实现的一个超级简单的下拉菜单
2014/05/18 Javascript
为Jquery EasyUI 组件加上清除功能的方法(详解)
2017/04/13 jQuery
jQuery列表检索功能实现代码
2017/07/17 jQuery
Vue header组件开发详解
2018/01/26 Javascript
Vuejs 单文件组件实例详解
2018/02/09 Javascript
从组件封装看Vue的作用域插槽的实现
2019/02/12 Javascript
基于JavaScript实现简单抽奖功能代码实例
2020/10/20 Javascript
[05:20]2018DOTA2亚洲邀请赛主赛事第三日战况回顾 LGD率先挺进胜者组决赛
2018/04/06 DOTA
Python 异常处理实例详解
2014/03/12 Python
python中requests库session对象的妙用详解
2017/10/30 Python
python3 requests中使用ip代理池随机生成ip的实例
2018/05/07 Python
Python实现抓取HTML网页并以PDF文件形式保存的方法
2018/05/08 Python
Django项目中包含多个应用时对url的配置方法
2018/05/30 Python
Python3.5 + sklearn利用SVM自动识别字母验证码方法示例
2019/05/10 Python
Selenium向iframe富文本框输入内容过程图解
2020/04/10 Python
使用jupyter notebook运行python和R的步骤
2020/08/13 Python
Django后端按照日期查询的方法教程
2021/02/28 Python
HTML5拖放API实现拖放排序的实例代码
2017/05/11 HTML / CSS
美国领先的家居装饰和礼品商店:Kirkland’s
2017/01/30 全球购物
介绍一下游标
2012/01/10 面试题
linux面试题参考答案(9)
2015/01/07 面试题
财务副总经理工作职责
2013/11/25 职场文书
房屋维修申请报告
2015/05/18 职场文书
Ruby处理YAML和json数据
2022/04/18 Ruby