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

一、动态构建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:删除选中的下拉框的值,能够通过一个事件方法来实现,我们能够随便选中一栏,然后点击button,然后那一栏就将被删除

<html>
<head>
<script type="text/javascript">
/*注:delete是JSkeyword,所以開始我想用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.jb51.net/article/44657.htm

(转载本站文章请注明作者和出处Coder的不平庸 ,请勿用于不论什么商业用途)


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

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

    <!DOCTYPE html> <html> <head lang="en"> <meta chaset="UTF-8" ...

  2. javascript学习笔记(四):DOM操作HTML

    当网页被加载时,浏览器会创建页面的文档对象模型Document Object Model,简称DOM Dom操作html 1:改变页面中所有HTML元素 2:改变页面中所有HTML属性 3:改变页面中 ...

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

    今天为给大家带来一款javascript实现的超炫的下拉选择框.下拉的列表由半用透明的幽灵按钮组成.显示下拉的时候,列表项由左右两侧飞入.消息时飞向左右两侧.一起看下效果图 在线预览   源码下载 实 ...

  4. FancySelect – 更好用的 jQuery 下拉选择框插件

    FancySelect 这款插件是 Web 开发中下拉框功能的一个更好的选择.FancySelect 使用方便,只要绑定页面上的任何 Select 元素,并调用就 .fancySelect() 就可以 ...

  5. ul+jquery自定义下拉选择框

    <!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. jquery.chosen.js下拉选择框美化插件项目实例

    由于之前使用的bootstrap-select插件是建立在bootstrap基础上的,实际使用到项目中的时候,与我们使用的ace-admin(基于bootstrap)存在样式冲突,导致下拉框的样式发生 ...

  7. CSS3不一样的下拉选择框

    本例中包含两个下拉选择框的动画示例,本例中并未使用select标签.本例中第一个案例也可用于标题.导航栏等位置. 案例一: html布局 <div class="content&quo ...

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

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  9. Javascript学习笔记四——操作表单

    Javascript学习笔记 大多网页比如腾讯,百度云之类的需要登陆,用户输入账号密码就可以登陆,那么浏览器是如何获取用户的输入的呢?今天就记录一下操作表单. 操作表单与操作DOM是差不多的,表单本身 ...

随机推荐

  1. win设置壁纸

    默认壁纸图片位置: C:\Windows\Web\Wallpaper\Scenes 你可以自己建文件夹,放自己喜欢的桌面壁纸. 设置壁纸: 桌面右键  ->  个性化 然后点击 “桌面背景” - ...

  2. jsoi2015 R2——滚粗记

    考完感觉各种绝望溢出胸口,作为百度空间的最后一篇文章了吧 day 0 第二轮在南师附中……不能到外地玩了…… 其实在试机的时候就感觉不大对头,明明说好18:15试机结果拖到18:30…… 还有今年竟然 ...

  3. bzoj1305

    让我们继续来练网络流: 很明显是一个最大流的问题: 二分枚举最多次数m,然后最大流判定: 具体就是男生女生都拆成两个点i1,i2,之间连一条流量为k的边(男生i1-->i2,女生i2--> ...

  4. [原]Unity3D深入浅出 - 摄像机组件(Camera)

    在Unity中创建一个Camera后,除了默认带一个Transform组件外,还会附带Flare Layer.GUI Layer.Audio Listener等4个组件,如下图. ClearFlags ...

  5. POJ 3204 Ikki's Story I-Road Reconstruction (网络流关键边)

    [题意]给定一个N个节点M条边的网络流,求有多少条边,使得当增其中加任何一个边的容量后,整个网络的流将增加. 挺好的一道题,考察对网络流和增广路的理解. [思路] 首先关键边一定是满流边.那么对于一个 ...

  6. acdream 小晴天老师系列——竖式乘法(简单穷举)

    小晴天老师系列——竖式乘法 Time Limit: 4000/2000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Others)   ...

  7. 怎么找到MyEclipse->add struts capabilities

    问:MyEclipse:我的工程右键可以MyEclipse->add struts capabilities之前有,后来不知怎么就没有了,谁知道怎么弄出来是struts 答:你已经add过一次了 ...

  8. EF框架step by step(8)—Code First DataAnnotations(2)

    上一篇EF框架step by step(7)—Code First DataAnnotations(1)描述了实体内部的采用数据特性描述与表的关系.这一篇将用DataAnnotations描述一下实体 ...

  9. selenium在chrome上运行报 Element is not clickable at point (1096, 26)

    Firefox上正常运行的脚本在chrome上提示Element is not clickable at point (1096, 26).分析原因,首先肯定不是因为页面元素不存在而无法点击.也不是要 ...

  10. JavaScript基本概念(二)

    JavaScript 基本概念(二) 操作符和语句 目录 操作符 一元操作符 位操作符 布尔操作符 乘性操作符 其他操作符 语句部分 说起操作符,回忆下上一篇文章末尾说的话. 操作符 一元操作符 ++ ...