javascript对下拉列表框(select)的操作
- <form id="f">
- <select size="1" name="s">
- <option value="www.dwww.cn">设计家园</option>
- <option value="baidu.com">百度</option>
- </select>
- </form>
- ---------------------------------------------------------------------------
- <script type="text/javascript">
- <!--
- var f = document.getElementById("f");
- //获得select列表项数目
- document.write(f.s.options.length);
- document.write(f.s.length);
- //当前选中项的下标(从0 开始)(有两种方法)
- //如果选择了多项,则返回第一个选中项的下标
- document.write(f.s.options.selectedIndex);
- document.write(f.s.selectedIndex);
- //检测某一项是否被选中
- document.write(f.s.options[0].selected);
- //获得某一项的值和文字
- document.write(f.s.options[0].value);
- document.write(f.s.options[1].text);
- //删除某一项
- f.s.options[1] = null;
- //追加一项
- f.s.options[f.s.options.length] = new Option("追加的text", "追加的value");
- //更改一项
- f.s.options[1] = new Option("更改的text", "更改的value");
- //也可以直接设置该项的 text 和 value
- //-->
- </script>
- //全选列表中的项
- function SelectAllOption(list)
- {
- for (var i=0; i<list.options.length; i++)
- {
- list.options[i].selected = true;
- }
- }
- //反选列表中的项
- function DeSelectOptions(list)
- {
- for (var i=0; i<list.options.length; i++)
- {
- list.options[i].selected = !list.options[i].selected;
- }
- }
- //返回列表中选择项数目
- function GetSelectedOptionsCnt(list)
- {
- var cnt = 0;
- var i = 0;
- for (i=0; i<list.options.length; i++)
- {
- if (list.options[i].selected)
- {
- cnt++;
- }
- }
- return cnt;
- }
- //清空列表
- function ClearList(list)
- {
- while (list.options.length > 0)
- {
- list.options[0] = null;
- }
- }
- //删除列表选中项
- //返回删除项的数量
- function DelSelectedOptions(list)
- {
- var i = 0;
- var deletedCnt = 0;
- while (i < list.options.length)
- {
- if (list.options[i].selected)
- {
- list.options[i] = null;
- deletedCnt++;
- }
- else
- {
- i++;
- }
- }
- return deletedCnt;
- }
- //此函数查找相应的项是否存在
- //repeatCheck是否进行重复性检查
- //若为"v",按值进行重复值检查
- //若为"t",按文字进行重复值检查
- //若为"vt",按值和文字进行重复值检查
- //其它值,不进行重复性检查,返回false
- function OptionExists(list, optText, optValue, repeatCheck)
- {
- var i = 0;
- var find = false;
- if (repeatCheck == "v")
- {
- //按值进行重复值检查
- for (i=0; i<list.options.length; i++)
- {
- if (list.options[i].value == optValue)
- {
- find = true;
- break;
- }
- }
- }
- else if (repeatCheck == "t")
- {
- //按文字进行重复检查
- for (i=0; i<list.options.length; i++)
- {
- if (list.options[i].text == optText)
- {
- find = true;
- break;
- }
- }
- }
- else if (repeatCheck == "vt")
- {
- //按值和文字进行重复检查
- for (i=0; i<list.options.length; i++)
- {
- if ((list.options[i].value == optValue) && (list.options[i].text == optText))
- {
- find = true;
- break;
- }
- }
- }
- return find;
- }
- //向列表中追加一个项
- //list 是要追加的列表
- //optText 和 optValue 分别表示项的文字和值
- //repeatCheck 是否进行重复性检查,参见 OptionExists
- //添加成功返回 true,失败返回 false
- function AppendOption(list, optText, optValue, repeatCheck)
- {
- if (!OptionExists(list, optText, optValue, repeatCheck))
- {
- list.options[list.options.length] = new Option(optText, optValue);
- return true;
- }
- else
- {
- return false;
- }
- }
- //插入项
- //index 插入位置,当插入位置 >= 列表现有项数量时,其作用相当于不进行重复检查的追加项
- //optText 和 optValue 分别表示项的文字和值
- function InsertOption(list, index, optText, optValue)
- {
- var i = 0;
- for (i=list.options.length; i>index; i--)
- {
- list.options[i] = new Option(list.options[i-1].text, list.options[i-1].value);
- }
- list.options[index] = new Option(optText, optValue);
- }
- //将一个列表中的项导到另一个列表中
- //repeatCheck是否进行重复性检查,参见OptionExists
- //deleteSource项导到目标后,是否删除源列表中的项
- //返回影响的项数量
- function ListToList(sList, dList, repeatCheck, deleteSource)
- {
- //所影响的行数
- var lines = 0;
- var i = 0;
- while (i<sList.options.length)
- {
- if (sList.options[i].selected && AppendOption(dList, sList.options[i].text, sList.options[i].value, repeatCheck))
- {
- //添加成功
- lines++;
- if (deleteSource)
- {
- //删除源列表中的项
- sList.options[i] = null;
- }
- else
- {
- i++;
- }
- }
- else
- {
- i++;
- }
- }
- return lines;
- }
- //列表中选中项上移
- function MoveSelectedOptionsUp(list)
- {
- var i = 0;
- var value = "";
- var text = "";
- for (i=0; i<(list.options.length-1); i++)
- {
- if (!list.options[i].selected && list.options[i+1].selected)
- {
- value = list.options[i].value;
- text = list.options[i].text;
- list.options[i] = new Option(list.options[i+1].text, list.options[i+1].value);
- list.options[i].selected = true;
- list.options[i+1] = new Option(text, value);
- }
- }
- }
- //列表中选中项下移
- function MoveSelectedOptionsDown(list)
- {
- var i = 0;
- var value = "";
- var text = "";
- for (i=list.options.length-1; i>0; i--)
- {
- if (!list.options[i].selected && list.options[i-1].selected)
- {
- value = list.options[i].value;
- text = list.options[i].text;
- list.options[i] = new Option(list.options[i-1].text, list.options[i-1].value);
- list.options[i].selected = true;
- list.options[i-1] = new Option(text, value);
- }
- }
- }
javascript对下拉列表框(select)的操作的更多相关文章
- 下拉列表框select
下拉列表框select CreateTime--2017年5月15日15:39:24 Author:Marydon 三.下拉列表框 (一)语法 <select></select& ...
- jQuery select的操作代码
jQuery對select的操作的实际应用代码. //改變時的事件 复制代码代码如下: $("#testSelect").change(function(){ //事件發生 j ...
- JavaScript中常见的数组操作函数及用法
JavaScript中常见的数组操作函数及用法 昨天写了个帖子,汇总了下常见的JavaScript中的字符串操作函数及用法.今天正好有时间,也去把JavaScript中常见的数组操作函数及用法总结一下 ...
- JavaScript中常见的字符串操作函数及用法
JavaScript中常见的字符串操作函数及用法 最近几次参加前端实习生招聘的笔试,发现很多笔试题都会考到字符串的处理,比方说去哪儿网笔试题.淘宝的笔试题等.如果你经常参加笔试或者也是一个过来人,相信 ...
- Javascript: Let user select an HTML element like Firebug?综述
Javascript: Let user select an HTML element like Firebug? Javascript: Let user select an HTML elemen ...
- javascript中对字符串的操作总结
原文:javascript中对字符串的操作总结 没听过一句话吗?程序员的世界,不处理字符串就是处理数组.这是群里的一位前辈和我说的,显然这和我之前理解的DOM是javascript的核心的不同的,看了 ...
- JavaScript中对数组的操作
原文:JavaScript中对数组的操作 一:数组的使用 1.定义:JavaScript中对数组的定义有两种形式.如: .var arr = [12,3,5,8]; .var arr = new Ar ...
- 【jq】JQuery对select的操作
下拉框 <select id="selectID" name="selectName"> <option vlaue="1" ...
- day36—javascript对表格table的操作应用(一)
转行学开发,代码100天——2018-04-21 今天记录一下,JavaScript对表格table的操作应用,包括表格元素的获取,创建,删除等. 一个普通的完整表格包括以下几个部分:table-&g ...
随机推荐
- poj 2253 (dis最短路径)
Frogger Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 24979 Accepted: 8114 Descript ...
- Android 如何在关于手机界面添加个图片
前言 欢迎大家我分享和推荐好用的代码段~~ 声明 欢迎转载,但请保留文章原始出处: CSDN:http://www.csdn.net ...
- poj 1274 The Perfact Stall
click here ~~ ***The Perfect Stall*** Description Farmer John completed his new barn just last week, ...
- LoadRunner解决超时错误
在运行脚本回放过程中,有时会出现错误,这在实际测试中是不可避免的,毕竟自动录制生成的脚本难免会有问题,需要运行脚本进行验证,把问题都解决后才加入到场景中进行负载测试.下面结合常用的协议(如Web.We ...
- 捕获海康威视IPCamera图像,转成OpenCV能够处理的图像(一)
海康威视IPCamera图像捕获 捕获海康威视IPCamera图像,转成OpenCV能够处理的IplImage图像(一) 捕获海康威视IPCamera图像.转成OpenCV能够处理的IplImage图 ...
- Linux-进程、进程组、作业、会话、控制终端详解
一.进程 传统上,Unix操作系统下运行的应用程序. 服务器以及其他程序都被称为进程,而Linux也继承了来自unix进程的概念.必须要理解下,程序是指的存储在存储设备上(如磁盘)包含了可执行机器指 ...
- oracle 存储过程 ,触发器练习
/*以下代码是对emp表进行显示宽度设置 */col empno for 9999;col ename for a10;col job for a10;col mgr for 9999;col hir ...
- c# 按位与,按位或
在工作中遇到按位或组合权限串.一直不是特别明白.今天终于花了半个下午的时间搞明白其中的道理. 首先每一个权限数都是2的N次方数 如:k1=2 ; //添加 k2=4 ; //删除 k3=8; //修改 ...
- convertView与ViewHolder有什么区别,好处在哪里
convertView 在API中的解释是The old view to reuse, if possible, 第一次getView时还没有convertView,这时你便创建了一个新的vi ...
- 全栈工程师的武器——MEAN(转)
MongoDB MongoDB也就是常说的NoSQL数据库.可以认为它是文档结构的数据库,而不是由行.列.表组成的数据库.基本的用法是存储JSON数据,这很适合JavaScript程序.它是非关系型. ...