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 ...
随机推荐
- Deferred content load was not performed. To provide the content, subscribe to the View's QueryControl event
{"Deferred content load was not performed. To provide the content, subscribe to the View's Quer ...
- Android6.0指纹识别开发
近期在做android指纹相关的功能,谷歌在android6.0及以上版本号对指纹识别进行了官方支持.当时在FingerprintManager和FingerprintManagerCompat这两个 ...
- Asp.Net生成无限级菜单
首先创建SQL脚本 ) DROP TABLE [Menu] CREATE TABLE [Menu] ( , ) NOT NULL, ) NULL, ), ) NULL, ), [AddTime] [d ...
- Android秒级编译工具Freeline
Freeline 是 Android 平台上的秒级编译方案,Instant Run 的替代品,由蚂蚁聚宝Android 团队开发,它可以充分利用缓存文件,在几秒钟内迅速地对代码的改动进行编译并部署到设 ...
- 安卓Eclipse开发人员的福音
我们知道.谷歌已经放弃对Eclipse(ADT)的维护更新了.如今官网上也找不到ADT的下载链接了,我们大多数同学仍在使用的ADT版本号可能已经非常老了,预计大多数的SDK版本号仅仅到4.4,而,在尝 ...
- jQuery实现滚动栏一直处于最底部
相信大家有时候在展示一些实时数据展示并且数据量非常大的时候,由于无法在同一页面看到最有效的数据,所以我们须要将滚动栏至于底部.以便我们看到最须要的数据和信息.这里非常明显的样例那拿windows的pi ...
- VS报表图解《一》---菜鸟版
与原先的开发环境VB.EXE不同VS2013自带了报表控件ReportViewer能够内部实现报表的设计,本文主要通过绑定数据集来实现报表的显示 1.加入:reportviewer控件,当将控件显示在 ...
- Drupal启动过程
Drupal整个启动过程共分为8个阶段: DRUPAL_BOOTSTRAP_CONFIGURATION:initialize configuration DRUPAL_BOOTSTRAP_PAGE_C ...
- iOS活动倒计时的两种实现方式
代码地址如下:http://www.demodashi.com/demo/11076.html 在做些活动界面或者限时验证码时, 经常会使用一些倒计时突出展现. 现提供两种方案: 一.使用NSTime ...
- iOS 滑块拼图游戏(Puzzle8)
代码地址如下:http://www.demodashi.com/demo/11505.html 一.准备工作 先了解一个定义和定理 定义:在一个1,2,...,n的排列中,如果一对数的前后位置与大小顺 ...