`
lupingui
  • 浏览: 157340 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

几个简单的JS操作Select记录

阅读更多

HTML代码:

	<table width="400" align="center" border="1">
		<tr background="">
			<td width="40%">
				过滤:<input type="text" size="10" id="filterKeyword" onkeyup="filter(this.value)" />
				<select style="width: 100%;" multiple name="left" id="left" size="8" >
					<option value="首页">首页</option>
					<option value="新闻">新闻</option>
					<option value="问答">问答</option>
					<option value="知识库">知识库</option>
					<option value="知识库和专栏">知识库和专栏</option>
					<option value="精彩访谈和讨论">精彩访谈和讨论</option>
					<option value="焦点新闻">焦点新闻</option>
					<option value="热门招聘">热门招聘</option>
					<option value="热门问答">热门问答</option>
					<option value="热门圈子">热门圈子</option>
					<option value="求职宝典">求职宝典</option>
					<option value="招聘和求职热点">招聘和求职热点</option>
					<option value="综合技术热点">综合技术热点</option>
					<option value="Web前端技术热点">Web前端技术热点</option>
				</select>
			</td>
			<td width="20%" align="center">
				<input type="button" value=" >>>> " onClick="moveOption(document.getElementById('left'), document.getElementById('right'), false)" />
				<br><br>
				<input type="button" value=" <<<< " onClick="moveOption(document.getElementById('right'), document.getElementById('left'), true)"/>
			</td>
			<td width="40%" valign="bottom">
				<select style="width: 100%;" multiple name="right" id="right" size="8" ></select>
			</td>
		</tr>
	</table>
	<select style="width: 100%; display: none;" multiple id="elOriginal" size="8" >
		<option value="首页">首页</option>
		<option value="新闻">新闻</option>
		<option value="问答">问答</option>
		<option value="知识库">知识库</option>
		<option value="知识库和专栏">知识库和专栏</option>
		<option value="精彩访谈和讨论">精彩访谈和讨论</option>
		<option value="焦点新闻">焦点新闻</option>
		<option value="热门招聘">热门招聘</option>
		<option value="热门问答">热门问答</option>
		<option value="热门圈子">热门圈子</option>
		<option value="求职宝典">求职宝典</option>
		<option value="招聘和求职热点">招聘和求职热点</option>
		<option value="综合技术热点">综合技术热点</option>
		<option value="Web前端技术热点">Web前端技术热点</option>
	</select>

 

 JS代码:

	<script language="JavaScript">
	<!--
	
		function filter(elKeyword) {
			elOriginal = document.getElementById('elOriginal');
			elRight = document.getElementById('right');
			elLeft = document.getElementById('left');
			clearSelect(elLeft);
			for(var i = 0; i < elOriginal.options.length; i++){
				var e = elOriginal.options[i];
				if(!checkSelectedOption(e.value, elRight)) {
					if(elKeyword == "" || e.text.indexOf(elKeyword) != -1) {
						elLeft.options.add(new Option(e.text, e.value));
					}
				}
			}
		}
	
		function clearSelect(el) {
			for(var i = el.options.length - 1; i >= 0; i--){
				el.remove(i);
			}
		}
	
		function checkSelectedOption(opValue, elSelected) {
			for(var i = 0; i < elSelected.options.length; i++){
				if(elSelected.options[i].value == opValue) {
					return true;
				}
			}
			
			return false;
		}
		
		function moveOption(e1, e2, isSort){
			var isMove = false;
			for(var i = 0; i < e1.options.length; i++){
				if(e1.options[i].selected){
		   			var e = e1.options[i];
		   			e2.options.add(new Option(e.text, e.value));
		   			isMove = true;
				}
			}
			if (isMove == true){
				for (var i = e1.options.length - 1; i >= 0; i--){
					if (e1.options[i].selected){
						e1.remove(i);
					}
				}
				
				if (isSort == true){
					filter(document.getElementById("filterKeyword").value);
				}
			}
		}
	//-->
	</script>

 

过滤部分原是使用Object.style.display='block'/'none', 但IE不支持。

分享到:
评论

相关推荐

    bootstrap中selectpicker下拉框使用方法实例

    bootstrap selectpicker是bootstrap里比较简单的一个下拉框的组件,先看效果如下: 附上官网api链接,http://silviomoreto.github.io/bootstrap-select/. 下拉框的使用上基本操作一般是:单选、多选、模糊搜索、...

    程序天下:JavaScript实例自学手册

    6.2 实现两个select的同步 6.3 被选中的列表项下次不能再选 6.4 不带滚动条的select 6.5 从一个下拉列表往另一个下拉列表添加内容 6.6 改变列表项的上下顺序 6.7 给下拉框数据分组 6.8 获取列表框的选择 6.9 类IE...

    《程序天下:JavaScript实例自学手册》光盘源码

    6.2 实现两个select的同步 6.3 被选中的列表项下次不能再选 6.4 不带滚动条的select 6.5 从一个下拉列表往另一个下拉列表添加内容 6.6 改变列表项的上下顺序 6.7 给下拉框数据分组 6.8 获取列表框的选择 6.9 类IE...

    Node.js数据库操作之查询MySQL数据库(二)

    我们在上一篇文章《Node.js数据库操作之连接MySQL数据库(一)》中已经学习了Nodejs连接MySQL数据库的几种方法,数据库连接上了之后就需要对数据库进行查询。本篇文章介绍一下查询MySQL数据库的方法。下面话不多说,...

    JavaScript笔记

    |--arr.splice(开始位置,删除几个[,x1,x2,x3...]) |--arr.indexOf(x) 返回x在数组中的下标---经常用于判断元素是否存在。如返回-1,x则不在数组中 18.Number对象: |--x.toFixed(num):可把Number四舍五入为指定...

    php网络开发完全手册

    1.2.2 PHP擅长的几个领域及产品介绍 5 1.2.3 PHP不适合做什么 6 1.2.4 其他案例 6 1.3 PHP的Hello, world预览 6 1.3.1 第一个PHP程序Hello, world 6 1.3.2 学习PHP应该准备哪些软件 8 1.3.3 相关知识领域的介绍 9 ...

    JavaScript Table行定位效果

    给tr设置relative后就能相对table定位了,看来很简单啊,但问题是这个方法ie8和ff都无效,而且存在很多问题,所以很快就被抛弃了。 ps:该效果用来做tr的拖动会很方便。 接着想到的是给table插入一个新tr,克隆原来...

    网上日记本

    在这个库表中还要有用户的输入内容,删除记录和操作时间等。 基本信息库表如下所示: (1)基本信息库表,详细设计如表3.1 表3.1 日本 Table 3.1 txt 编 号 字段名称 数据结构 说 明 1 ID 自动编号 编号 2 用户 文本...

    vc++ 开发实例源码包

    演示了OpenG的使用方法,内含几个实例,一个实例就3个文件。 p2p vb实例。 p2p+technology 文档。 P2P视频技术源码(含开发文档) 目前的协议有如下一些特点: 1) 客户向服务器发送请求, 每个请求的长度不定. 请求...

    (四)自己动手,做一个属于自己的疫情填报收集表

      在页面设计的程序中,本人觉得主要有下面几个方面的代码需记录下来。 3.1显示未填报的学生名单的SQL语句 select * from xs where xsclass='&session(jsclass)&' and not exists(select * from xsq where xs.xsno...

    asp.net知识库

    与正则表达式相关的几个小工具 你真的了解.NET中的String吗? .NET中的方法及其调用(一) 如何判断ArrayList,Hashtable,SortedList 这类对象是否相等 帮助解决网页和JS文件中的中文编码问题的小工具 慎用const...

    .netC#面试题

    4. Js 实现几秒后跳转页面 5. Sql 关键字 SELECT FROM GROUP ORDER 等的执行顺序是乍么排序的,请列出 来。 6. web 优化方案(请简述) 7. &lt;1&gt;sql 语句取得最新的一条记录 Public static void main(string[] agrs) {...

    仿世纪佳缘婚介交友系统5.3 ASP+SQL

    、金币操作记录天数,即会员在充值、消费操作时数据库记录的时间段,一般30天。 、搜索中会员等级限制,即会员在搜索时显示等级最低的用户。这个开关影响到高级搜索、会员在线聊天、征婚大厅等列表。一般设置...

    基于JSP+JavaBean+Servlet三层架构员工考勤管理系统源码+数据库+项目说明.zip

    1. 软件开发流程(可说明软件的开发流程包括几个阶段,每个阶段做什么任务,出什么文档)z 1) 分析理解前端页面,将前端的html页面改成Jsp页面,JSP页面加入page标签 2) 将JSP页面中的静态数据 修改为从数据库查询到...

    jsp编程技巧集锦

    select选中其中的值自动到一个文本框? 77. JSP连接数据库? 78. JSP两级下拉列表框联动(数据库)? 79. JSP字符编码问题及转换大全? 80. 使用过滤器设置请求编码? 81. JSP或Servlet调用DLL? 82. ...

    十天学会ASP.net--我认为ASP.NET比ASP难很多,希望大家做好准备

    以前说到BUTTON控件CausesValidation=true/false来设置按钮提交的表单是不是被检验也就是这里的几个检验控件,如果CausesValidation=true的话按下按钮就会首先检测是不是都通过了检验控件的检验。 下面再说两点: ...

    ARCH4系统开发指南

    8.6 一个POJO对象只能映射为一条数据库记录 114 8.6.1 实体对象生命周期 115 8.6.2 实体对象的识别 115 8.7 String对象、StringBuilder对象和原始数据类型的特点 116 8.7.1 String对象的“equals()”和“==” 116 ...

    正则表达式

    也可以用JavaScript 1.2中的新添加的一个特殊语法来创建RegExp对象.就像字符串直接量被定义为包含在引号内的字符一样, 正则表达式直接量也被定义为包含在一对斜杠(/)之间的字符.所以,JavaScript可能会包含如下的...

    mall-xiaohongshu-小程序模仿小红书.zip

    “小红书”——给你安利几个小程序的“坑”微信小程序写在前面 小程序发布至今已有一年多时间,很多人都已经在小程序道路上狂奔。最近我也开始了学习小程序,学了一段时间后,想看看这段时间的学习效果,于是边学习...

Global site tag (gtag.js) - Google Analytics