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 相关文章推荐
广告显示判断
Aug 31 Javascript
动态加载js的几种方法
Oct 23 Javascript
jQuery UI 应用不同Theme的办法
Sep 12 Javascript
js+html5通过canvas指定开始和结束点绘制线条的方法
Jun 05 Javascript
AngularJs 国际化(I18n/L10n)详解
Sep 01 Javascript
Json按某个键的值进行排序
Dec 22 Javascript
vue.js学习笔记:如何加载本地json文件
Jan 17 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(2)
Feb 20 Javascript
老生常谈combobox和combotree模糊查询
Apr 17 Javascript
vue组件内部引入外部js文件的方法
Jan 18 Javascript
Vue是怎么渲染template内的标签内容的
Jun 05 Javascript
Element Alert警告的具体使用方法
Jul 27 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
德生H-501的评价与改造
2021/03/02 无线电
php switch语句多个值匹配同一代码块的实现
2014/03/03 PHP
WordPress过滤垃圾评论的几种主要方法小结
2016/07/11 PHP
php实现基于openssl的加密解密方法
2016/09/30 PHP
老生常谈ThinkPHP中的行为扩展和插件(推荐)
2017/05/05 PHP
Jquery从头学起第四讲 jquery入门教程
2010/08/01 Javascript
jquery 鼠标滑动显示详情应用示例
2014/01/24 Javascript
Ajax局部更新导致JS事件重复触发问题的解决方法
2014/10/14 Javascript
javascript实现的字符串与十六进制表示字符串相互转换方法
2015/07/17 Javascript
如何解决IONIC页面底部被遮住无法向上滚动问题
2016/09/06 Javascript
详解vue-router和vue-cli以及组件之间的传值
2017/07/04 Javascript
解决node修改后需频繁手动重启的问题
2018/05/13 Javascript
基于Vue+element-ui 的Table二次封装的实现
2018/07/20 Javascript
利用JavaScript将Excel转换为JSON示例代码
2019/06/14 Javascript
js验证密码强度解析
2020/03/18 Javascript
vue组件开发之slider组件使用详解
2020/08/21 Javascript
JavaScript/TypeScript 实现并发请求控制的示例代码
2021/01/18 Javascript
[01:13:46]iG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python实现简单状态框架的方法
2015/03/19 Python
简介Python设计模式中的代理模式与模板方法模式编程
2016/02/02 Python
对pandas的dataframe绘图并保存的实现方法
2017/08/05 Python
利用Python进行异常值分析实例代码
2017/12/07 Python
教你使用python实现微信每天给女朋友说晚安
2018/03/23 Python
win7下python3.6安装配置方法图文教程
2018/07/31 Python
Python脚本修改阿里云的访问控制列表的方法
2019/03/08 Python
python添加菜单图文讲解
2019/06/04 Python
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
2019/12/13 Python
python读取图片的几种方式及图像宽和高的存储顺序
2020/02/11 Python
keras和tensorflow使用fit_generator 批次训练操作
2020/07/03 Python
python 实现Harris角点检测算法
2020/12/11 Python
新东方旗下远程教育网站:新东方在线
2020/03/19 全球购物
护士毕业实习感言
2014/03/05 职场文书
促销活动总结范文
2014/04/30 职场文书
会员卡清退活动总结
2014/08/27 职场文书
小区保洁员岗位职责
2015/04/10 职场文书
好人好事新闻稿
2015/07/17 职场文书