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 ...
随机推荐
- 利用内存分析工具(Memory Analyzer Tool,MAT)分析java项目内存泄露
转载:http://blog.csdn.net/wanghuiqi2008/article/details/50724676 一.开发环境: 操作系统:ubuntu 14.04 IDE:Eclipse ...
- ssh认证
密钥认证 密码验证会造成账户口令的外泄,不安全,基于账号的保密性考虑,可以采用密钥验证实现远程连接. Linux--Linux 1.Linux客户端主机上生成密钥文件 ssh-keygen -t rs ...
- 使用HTML5画布(canvas)生成阴影效果
来源:GBin1.com 使用HTML5的画布特性,我们可以创建图形,在这片文章中,我们将创建图形的阴影. var canvas = document.getElementById('shadowca ...
- mui 页面传值
点击第一个页面的标签,跳转到第二个页面,把第一个页面的值也传往目标页面 现在提供两种实现方式 注意:需要在手机运行才可以,用电脑浏览器可能不支持. 第一种方式 页面已创建,通过自定义事件传值 fir ...
- VUE 方法
1.$event 变量 $event 变量用于访问原生DOM事件. <!DOCTYPE html> <html lang="zh"> <head> ...
- Jenkins高速上手
http://www.cnblogs.com/puresoul/p/4813551.html .Jenkins下载安装 1.到官网下载jenkins.war包:http://jenkins-ci.or ...
- JavaScript | 数据属性与访问器属性
属性类型 数据属性 - 包含一个数据值的位置,可以读取和写入值 [writable] 是否能修改属性的值 true [enumerable] 是否通过for in 循环返回属性(是否可以被枚举) tr ...
- hibernate 多对多双向关联
package com.bjsxt.hibernate; import java.util.HashSet; import java.util.Set; import javax.persistenc ...
- JS回调函数全解析教程(callback)
自学jQuery的时候,看到一英文词(Callback),顿时背部隐隐冒冷汗.迅速google之,发现原来中文翻译成回调.也就是回调函数了.不懂啊,于是在google回调函数,发现网上的中文解释实在是 ...
- 效仿盖茨:PPstream创始人的心路历程
http://www.jianglb.com/2007/08/15/about-ppstream.html “P2P网络视频软件的目标是成为网民肚子里的蛔虫.”PPstream总裁徐伟峰自信地说道.他 ...