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 2778 AC自己主动机 + 矩阵高速幂
// poj 2778 AC自己主动机 + 矩阵高速幂 // // 题目链接: // // http://poj.org/problem?id=2778 // // 解题思路: // // 建立AC自 ...
- SSMybatis整合(二) -- 加入SpringMVC进行多表级联操作
---上节课我们讲了Mybatis的单表增删改查,关于代码我注释的比较详细,我相信初学的小伙伴还是多少能有一些收获的. - 第一集传送门:http://blog.csdn.net/jacxuan/ar ...
- Java基础大家必看啊
写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java语言代码把思路体现出来. 学习 ...
- java.util.HashMap 解析
HashMap 是我们经常使用的一种数据结构.工作中会经常用到,面试也会总提到这个数据结构,找工作的时候,”HashTable 和HashMap的区别“被问到过没有? 本文会从原理,JDK源码,项目使 ...
- bitbucket git push 项目503失败
忙活了一天,要把项目push到远程仓库保存: 一直稳定的bitbucket今天突然push不成功了,出了503错误 谷歌了各种原因,还以为是连接出了问题 打开bitbucket State 页面之后, ...
- docker中的link
一.查看容器的详细情形 docker inspect 容器id/名称 二.为什么要用link 容器每次重启时,ip都会变动,这不利于前端引用中连接数据库. 三.link docker run -p 8 ...
- 为什么要用 SpringMVC 的 SessionStatus
我们可以在需要访问 Session 属性的 controller 上加上 @SessionAttributes,然后在 action 需要的 User 参数上加上 @ModelAttribute,并保 ...
- 【Python 数据分析】jieba文本挖掘
jieba是一个强大的分词库,完美支持中文分词 安装jieba 使用命令安装 pip install jieba 出现上图表示安装成功了 jieba分词模式 全模式 全模式:试图将句子精确地切开,适合 ...
- 【VBA编程】09.使用Excle集合对象
使用Workbooks工作簿集合.工作簿对象.工作表集合.工作表对象,并且观察使用Add方法前后工作簿与工作表数目的变化 [代码区域] Sub 测试集合工作簿() Dim wbs As Workboo ...
- Linux命令-网络命令:lastlog
last 显示所有用户最后登录信息(会显示系统用户) last -u 只看某一个用户wangyunpeng的最后登录信息 last -u 查看系统用户root的最后登录信息 root用户的ID是0.从 ...