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 相关文章推荐
基于jQuery的固定表格头部的代码(IE6,7,8测试通过)
May 18 Javascript
使用Mootools动态添加Css样式表代码,兼容各浏览器
Dec 12 Javascript
jquery入门—选择器实现隔行变色实例代码
Jan 04 Javascript
Js 冒泡事件阻止实现代码
Jan 27 Javascript
innerText和textContent对比及使用介绍
Feb 27 Javascript
Bootstrap每天必学之标签与徽章
Nov 27 Javascript
jQuery复制节点用法示例(clone方法)
Sep 08 Javascript
JavaScript中的工厂函数(推荐)
Mar 08 Javascript
详解Vuejs2.0之异步跨域请求
Apr 20 Javascript
JavaScript使用readAsDataUrl方法预览图片
May 10 Javascript
vue params、query传参使用详解
Sep 12 Javascript
转换layUI的数据表格中的日期格式方法
Sep 19 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
简单的php+mysql聊天室实现方法(附源码)
2016/01/05 PHP
浅析PHP7新功能及语法变化总结
2016/06/17 PHP
超棒的javascript页面顶部卷动广告效果
2007/12/01 Javascript
Firefox window.close()的使用注意事项
2009/04/11 Javascript
Javascript Tab 导航插件 (23个)
2009/06/11 Javascript
jQuery 标题的自动翻转实现代码
2009/10/14 Javascript
JQuery SELECT单选模拟jQuery.select.js
2009/11/12 Javascript
javascript 用原型继承来实现对象系统
2010/03/22 Javascript
在javaScript中关于submit和button的区别介绍
2013/10/20 Javascript
jQuery简单实现banner图片切换
2014/01/02 Javascript
深入理解javascript构造函数和原型对象
2014/09/23 Javascript
javascript基础知识分享之类与函数化
2016/02/13 Javascript
VueJS全面解析
2016/11/10 Javascript
JS比较两个数值的大小实例
2016/11/25 Javascript
nodejs多版本管理总结
2018/04/03 NodeJs
karma+webpack搭建vue单元测试环境的方法示例
2018/05/24 Javascript
element ui table 增加筛选的方法示例
2018/11/02 Javascript
Vue的路由及路由钩子函数的实现
2019/07/02 Javascript
Python中文件操作简明介绍
2015/04/13 Python
Python利用pandas计算多个CSV文件数据值的实例
2018/04/19 Python
python二维列表一维列表的互相转换实例
2018/07/02 Python
python对日志进行处理的实例代码
2018/10/06 Python
用Django写天气预报查询网站
2018/10/21 Python
pytorch sampler对数据进行采样的实现
2019/12/31 Python
Python定时任务APScheduler安装及使用解析
2020/08/07 Python
巴西葡萄酒商店:Divvino
2020/02/22 全球购物
原料仓管员岗位职责
2014/04/12 职场文书
物理课外活动总结
2014/08/27 职场文书
群众路线班子对照检查材料
2014/09/25 职场文书
高中校园广播稿3篇
2014/09/29 职场文书
光棍节联谊晚会活动策划书
2014/10/10 职场文书
村党组织公开承诺书
2015/04/30 职场文书
大学团日活动总结书
2015/05/11 职场文书
Python编写nmap扫描工具
2021/07/21 Python
php png失真的原因及解决办法
2021/10/24 PHP
使用PostGIS完成两点间的河流轨迹及流经长度的计算(推荐)
2022/01/18 PostgreSQL