JavaScript学习笔记之下拉选择框的操作

对于下拉框的操作十分繁多,这几天项目需要就总结一下

一、动态构建option

有时候我们需要动态构建下拉选择框里面的值,这里我们就要用到 var varItem = new Option("文本","值");构建一个或多个<option value="值">文本</option>

var varItem = new Option("studentName","name");

例子1:窗体在加载完毕后,就自动构造一个option

<html>
	<head>
		<script type="text/javascript">
			window.onload = function(){
				var obj = document.getElementById("sort");
				var varItem = new Option("studentName","name");
				obj.options.add(varItem);
			}
		</script>
	</head>
	<body>
		<select id="sort">
		</select>
	</body>
</html>	

当然我觉得应该可以一下子构建多个options,可能是声明一个数组或者一个Json对象添加进去,但是具体怎么一下子增加多个option,会的朋友望指点

例子2:利用JS删除一栏为stuNumber的下拉选择框,以后如果做成动态的话就可以通过传参调用方法来删除指定栏的信息了。

<html>
	<head>
		<script type="text/javascript">
			window.onload = function(){
				var obj = document.getElementById("sort");
				for(var i=0;i<obj.options.length;i++){
					/*
						删除stuNumber那一栏里面
					*/
					if(obj.options[i].value == "stuNumber"){
						obj.options.remove(i);
						break;
					}
				}
			}
		</script>
	</head>
	<body>
		<select id="sort">
			<option name="name">studentName</option>
			<option name="num">stuNumber</option>
			<option name="grade">stuGrade</option>
		</select>
	</body>
</html>	

例子3:删除选中的下拉框的值,可以通过一个事件方法来实现,我们可以随便选中一栏,然后点击按钮,然后那一栏就将被删除

<html>
	<head>
		<script type="text/javascript">
			/*注:delete是JS关键字,所以开始我想用delete定义方法名的,是不阔以的。*/
			function deleteOption(){
				var obj = document.getElementById("sort");
				for(var i=0;i<obj.options.length;i++){
					if(obj.options[i].selected == true){
						obj.options[i] = null;
					}
				}
			}
		</script>
	</head>
	<body>
		<select id="sort">
			<option name="name">studentName</option>
			<option name="num">stuNumber</option>
			<option name="grade">stuGrade</option>
		</select>
		<input type="button" value="click" onclick="deleteOption();">
	</body>
</html>	

例子4:将下拉选择框中的值清空

<html>
	<head>
		<script type="text/javascript">
			window.onload = function(){
				document.all.sort.options.length = 0;
			}
		</script>
	</head>
	<body>
		<select id="sort">
			<option name="name">studentName</option>
			<option name="num">stuNumber</option>
			<option name="grade">stuGrade</option>
		</select>
	</body>
</html>	

例子5:想得到option里面name的值,我们通过一个button事件,点击,弹出对话框,里面的信息就是name的值

<html>
	<head>
		<script type="text/javascript">
			//获取一个下拉选择框的options值
			function show(){
				var obj = document.getElementById("slt");
				for(var i=0;i<obj.options.length;i++){
					if(obj.options[i].selected == true){
						alert(obj.value);
					}
				}
			}
		</script>
	</head>
	<body>
		<select id="slt">
			<option value="0">username</option>>
			<option value="1">password</option>>
		</select>
		<input type="button" name="click" value="click" onclick="show();">
	</body>
</html>

关键思路还是先得到select下拉选择框这个对象,遍历选中的option,对象.value就可以表达出来。

那我们要是一开始默认就想加载一个特定的option,那我们可以特定定义一个window.onload事件,指定要加载的option的值

<html>
	<head>
		<script type="text/javascript">
				window.onload = function(){
					//默认的情况下options显示的是userage这一选择框的信息
					document.getElementById("slt").value = 1;
				}
		</script>
	</head>
	<body>
		<select id="slt">
			<option value="0">username</option>>
			<option value="1">userage</option>>
		</select>
	</body>
</html>

例子6:输出option的下标值,从0开始

<html>
	<head>
		<script type="text/javascript">
			function show(){
				var obj = document.getElementById("sort");
				/*输出option的下标值,从0开始*/
				alert(obj.selectedIndex);
			}
		</script>
	</head>
	<body>
		<select id="sort">
			<option name="name">studentname</option>
			<option name="stunum">studentnumber</option>
		</select>
		<input type="button" value="click" onclick="show();">
	</body>
</html>	

二、select的回显(与jsp结合)

通常我们执行更新用户信息的时候,需要回显下拉选择框的信息,这时候如果用JSP开发的话,可以利用JSTL标签的<c:if>

首先引入JSTL标签库:<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<select id="sort" value="${sort}">
			<option name="name" <c:if test="${'name' eq sort}">selected</c:if>>studentname</option>
			<option name="stunum" <c:if test="${'stunum' eq sort}">selected</c:if>>studentnumber</option>
</select>

持续总结中~~~

参考博客:

http://www.cnblogs.com/Herist/archive/2007/09/24/903890.html

http://www.jb51.net/article/44657.htm

(转载本站文章请注明作者和出处Coder的不平凡 ,请勿用于任何商业用途)

时间: 2024-10-21 23:31:08

JavaScript学习笔记之下拉选择框的操作的相关文章

APICloud学习笔记之下拉刷新

1 api.setRefreshHeaderInfo({ 2 visible: true, 3 loadingImg: 'widget://image/refresh.png', 4 bgColor: '#ccc', 5 textColor: '#fff', 6 textDown: '下拉刷新...', 7 textUp: '松开刷新...', 8 showTime: true 9 }, function(ret, err) { 10 //重新发送请求,请求结束后根据返回数据更新页面 11 })

javascript学习笔记:DOM节点关系和操作

0x01:前面的话 DOM可以将任何HTML描绘成一个由多层节点构成的结构.节点分为12种不同类型,每种类型分别表示文档中不同的信息及标记.每个节点都拥有各自的特点.数据和方法,也与其他节点存在某种关系.节点之间的关系构成了层次,而所有页面标记则表现为一个以特定节点为根节点的树形结构.本文将详细描述DOM间的节点关系和基础的DOM操作.节点中的各种关系可以用传统的家族关系来描述,相当于把文档树比喻成家谱.接下来,将把DOM节点关系分为属性和方法两部分进行详细说明. 0x02:属性 父级属性par

javascript学习笔记(九):DOM操作HTML的各种方法使用

1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta chaset="UTF-8"> 5 <title></title> 6 </head> 7 <body> 8 <p name="pname">Hello</p> 9 <p name="pname"

一款javascript实现的超炫的下拉选择框

今天为给大家带来一款javascript实现的超炫的下拉选择框.下拉的列表由半用透明的幽灵按钮组成.显示下拉的时候,列表项由左右两侧飞入.消息时飞向左右两侧.一起看下效果图 在线预览   源码下载 实现的代码. html代码: <div class="scifiUI"> <h1> Scifi Dropdown</h1> <ul> <li>Interactive</li> <li>Animated<

javascript学习笔记---ECMAScriptECMAScript 对象----定义类或对象

使用预定义对象只是面向对象语言的能力的一部分,它真正强大之处在于能够创建自己专用的类和对象. ECMAScript 拥有很多创建对象或类的方法. 原始的方式 因为对象的属性可以在对象创建后动态定义(后绑定),类似下面的代码: var oCar = new Object; oCar.color = "blue"; oCar.doors = 4; oCar.mpg = 25; oCar.showColor = function() { alert(this.color); };不过这里有一

下拉选择框改变表单action的简单例子

做了个简单的小例子 用js弄的. form  的代码 1 <form  action=""  method="post" id="formRole"> type的 下拉单 1 2 3 4 5 6 <select name="type" id="type"  onchange="changeAction()">       <option value=&quo

JavaScript学习笔记【2】表达式和运算符、语句、对象

笔记来自<JavaScript权威指南(第六版)> 包含的内容: 表达式和运算符 语句 对象 表达式和运算符 数组直接量中的列表逗号之间的元素可以省略,这时省略的空位会填充值undefined.元素列表末尾可以留下单个逗号,这时并不会创建一个新的值为undefined元素. 属性访问表达式,.identifier的写法只适用于要访问的属性名称是合法的标识符,并且需要知道要访问的属性的名字.如果属性名称是一个保留字或者包含空格和标识符,或是一个数字(对于数组来说),则必须使用方括号的写法.当属性

Java程序猿的JavaScript学习笔记(12——jQuery-扩展选择器)

计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript学习笔记(3--this/call/apply) Java程序猿的JavaScript学习笔记(4--this/闭包/getter/setter) Java程序猿的JavaScript学习笔记(5--prototype) Java程序猿的JavaScript学习笔记(6--面向对象模拟) Java程

javascript学习笔记之document和innerHTML、innerText

Javascript中我们最常用的对象就是document对象 Document对象:每个载入浏览器的html文档都会成为document对象.我们可以利用document对象访问HTML中的元素.     document.getElementById() 通过id来获取相应的值 1.文本框 <html> <head> <script type="text/javascript"> function show(){ //document.getEl