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获取提交的字符串的字节数
Feb 09 Javascript
jquery刷新页面的实现代码(局部及全页面刷新)
Jul 11 Javascript
JavaScript异步编程:异步数据收集的具体方法
Aug 19 Javascript
CSS+jQuery实现的一个放大缩小动画效果
Sep 24 Javascript
jQuery EasyUI框架中的Datagrid数据表格组件结构详解
Jun 09 Javascript
AngularJS前端页面操作之用户修改密码功能示例
Mar 27 Javascript
详解Vue用axios发送post请求自动set cookie
May 10 Javascript
微信小程序 action-sheet 反馈上拉菜单简单实例
May 11 Javascript
原生JS实现的多个彩色小球跟随鼠标移动动画效果示例
Feb 01 Javascript
JavaScript中如何对多维数组(矩阵)去重的实现
Dec 04 Javascript
JS中this的4种绑定规则详解
Feb 04 Javascript
jquery简易手风琴插件的封装
Oct 13 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长字符串定义方法
2012/07/12 PHP
深入php内核之php in array
2015/11/10 PHP
PHP实现的构造sql语句类实例
2016/02/03 PHP
PHP-X系列教程之内置函数的使用示例
2017/10/16 PHP
PHP使用redis位图bitMap 实现签到功能
2019/10/08 PHP
Laravel 5.2 文档 数据库 ―― 起步介绍
2019/10/21 PHP
用Javascript数组处理多个字符串的连接问题
2009/08/20 Javascript
高效的表格行背景隔行变色及选定高亮的JS代码
2010/12/04 Javascript
js遍历td tr等html元素
2012/12/13 Javascript
JS 添加网页桌面快捷方式的代码详细整理
2012/12/27 Javascript
js获取下拉列表框中的value和text的值示例代码
2014/01/11 Javascript
JavaScript实现节点的删除与序号重建实例
2015/08/05 Javascript
jQuery实现手机上输入后隐藏键盘功能
2017/01/04 Javascript
解决vue router使用 history 模式刷新后404问题
2017/07/19 Javascript
vue axios用法教程详解
2017/07/23 Javascript
layer插件select选中默认值的方法
2018/08/14 Javascript
微信小程序new Date()方法失效问题解决方法
2019/07/29 Javascript
vue与django集成打包的实现方法
2019/11/11 Javascript
js实现自动播放匀速轮播图
2020/02/06 Javascript
基于原生js实现九宫格算法代码实例
2020/07/03 Javascript
微信小程序canvas实现签名功能
2021/01/19 Javascript
python通过ftplib登录到ftp服务器的方法
2015/05/08 Python
python的keyword模块用法实例分析
2015/06/30 Python
pyhton列表转换为数组的实例
2018/04/04 Python
python批量下载网站马拉松照片的完整步骤
2018/12/05 Python
Python3.5 Json与pickle实现数据序列化与反序列化操作示例
2019/04/29 Python
学会python自动收发邮件 代替你问候女友
2020/05/20 Python
pyqt5 textEdit、lineEdit操作的示例代码
2020/08/12 Python
使用CSS Grid布局实现网格的流动
2014/12/30 HTML / CSS
清除canvas画布内容(点擦除+线擦除)
2020/08/12 HTML / CSS
Sql面试题
2013/03/20 面试题
幼儿园植树节活动总结
2014/07/04 职场文书
家长高考寄语
2015/02/27 职场文书
大学生个人简历自我评价
2015/03/11 职场文书
互联网的下一个风口:新的独角兽将诞生
2019/08/02 职场文书
Python读写yaml文件
2022/03/20 Python