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操作select元素一例的更多相关文章
- 使用javaScript操作页面元素
from selenium import webdriver import time import unittest from selenium.common.exceptions import We ...
- javascript操作HTML元素
操作 HTML 元素 如需从 JavaScript 访问某个 HTML 元素,您可以使用 document.getElementById(id) 方法. 请使用 "id" 属性来标 ...
- 使用JavaScript获取select元素选中的value和text
示例代码如下(js直接写在了html里面,没有写在一个单独的外部文件中): <!DOCTYPE html> <html> <head> <meta name= ...
- 【面试必备】javascript操作DOM元素
前言 时间过的真快,不知不觉就到年底了.问问自己,这一年你对自己的工作满意吗? 评价标准是什么呢?当然是马云的那两条准则了:钱给到了吗?干的爽吗?如果答案都是no,那么,你准备好跳槽了吗? 为了应对年 ...
- javaScript的select元素和option的相关操作
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Python3 Selenium自动化web测试 ==> 第五节 WebDriver高级应用 -- 使用JavaScript操作页面元素
学习目的: 中级水平技术提升 在WebDriver脚本代码中执行JS代码,可以解决某些 .click()方法无法生效等问题 正式步骤: Python3代码如下 # -*- coding:utf-8 - ...
- webdriver高级应用-使用JavaScript操作页面元素
Webdriver搞不定的,需要用js,无需引入有关js的包就可用 在WebDriver脚本代码中执行JavaScript代码,来实现对页面元素的操作.此方法主要用于解决在某些情况下,页面元素的.cl ...
- JavaScript操作select下拉框选项移动
运行结果: 源代码: 1 <!DOCTYPE html> 2 <html lang="zh"> 3 <head> 4 <meta char ...
- 【转】javascript操作Select标记中options集合
先来看看options集合的这几个方法:options.add(option)方法向集合里添加一项option对象:options.remove(index)方法移除options集合中的指定项:op ...
随机推荐
- cenos安装jdk
安装方式:手动安装 软件:jdk-7u79-linux-x64.tar.gz 官网下载地址:进行下载. 下载完成之后上传到我们的服务器,我使用的是cenos6.5阿里云系统.securecrt工具上传 ...
- 自守数算法----C语言实现
#include <stdio.h> //自守数算法 //ep : 25 ^ 2 = 625 76 ^ 2 = 5776 9376 ^ 2 = 87909376 /*ep : * 376 ...
- linux shell bash使用管道|和read结合时问题解决
最近在将ksh转成bash运行的时候出现了问题.代码如下: echo $1 | sed 's/\..*$/''/' | read FILE_NAME 当使用ksh执行的时候没有问题,FILE_NAME ...
- 5. React 组件的协同使用 组件嵌套和Mixin
组件是React的核心,构建大型项目时多个组件之间需要进行协同使用.可以从横向和纵向两个角度来实现组件的协同使用,纵向的协同使用就是组件嵌套,横向的协同使用就是Mixin(抽取公共方法 ...
- Cassandra使用pycassa批量导入数据
本周接手了一个Cassandra系统的维护工作,有一项是需要将应用方的数据导入我们维护的Cassandra集群,并且为应用方提供HTTP的方式访问服务.这是我第一次接触KV系统,原来只是走马观花似的看 ...
- linux目录间的瞬间转移:dtags
http://blog.csdn.net/pipisorry/article/details/50923957 linux下dtags的安装 apt-get install python3-pip # ...
- Android的oom详解
Android的oom原因 1.资源对象没关闭造成的内存泄露,try catch finally中将资源回收放到finally语句可以有效避免OOM.资源性对象比如: 1-1,Cursor 1-2,调 ...
- 套接字工厂——ServerSocketFactory
接收器Acceptor在接收连接的过程中,根据不同的使用场合可能需要不同的安全级别,例如在支付相关的交易就必须对信息加密后再发送,这其中还涉及到密钥协商的过程,而在另外一些普通场合则无需对报文加密.反 ...
- java虚拟机构造原理
Java虚拟机的生命周期 一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序.程序开始执行时他才运行,程序结束时他就停止.你在同一台机器上运行三个程序,就会有三个运行中的Java虚拟机. ...
- flexbox基本原理
新版的flexbox规范分两部分:一部分是container,一部分是 items. flexbox是一整套布局规范,包含了多个css属性,所以学习起来比`float: left;` 这样简单的布局要 ...