`
lupingui
  • 浏览: 159253 次
  • 性别: 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不支持。

分享到:
评论

相关推荐

    javascript写的select

    接下来,我们将详细解析几个关键函数的功能及其实现逻辑: ##### 2.1 `selectThisValue` 该函数的主要作用是在用户点击某个选项时,设置当前Select组件的选中值,并执行相关的操作: - **参数说明**:`thisId`为...

    下拉多选插件ySelect.js

    在压缩包中,我们看到有以下几个文件: - `index.html`:这是示例页面,展示了ySelect.js插件如何集成和使用,开发者可以通过查看和修改此文件学习如何在自己的项目中应用该插件。 - `php中文网免费下载站.txt` 和 ...

    表单美化之select的下拉按钮美化

    为了实现这个自定义组件,我们需要掌握以下几个关键点: 1. HTML结构:创建一个包含按钮和隐藏列表的容器,按钮用于触发下拉,列表则包含所有选项。 2. CSS样式:设计按钮和列表的外观,包括颜色、边框、阴影等,...

    react-可视化操控左右多选select的React组件

    组件设计时,我们还需要考虑以下几个关键点: 1. **数据结构**:选项数据应以数组形式存储,每个元素包含选项的标识和显示文本。 2. **添加/删除选项**:添加选项时,需要将左侧的选项移动到右侧;删除时,从右侧移...

    前端项目-slim-select.zip

    通常,这样的结构可能包括以下几个部分: 1. **源代码(Source Code)**:主要位于`src`目录下,包含`.js`文件,这是实现Slim Select功能的核心代码,开发者可以查看和修改这些代码以满足特定需求。 2. **构建文件...

    jQuery 对Select的操作备忘记录

    首先,关于jQuery对Select下拉菜单的操作,可以细分为以下几个主要方面: 1. 为Select下拉菜单添加事件监听器: 当用户在下拉菜单中选择不同的选项时,可以通过绑定change事件来触发相应的处理函数。具体的语法如下...

    续上Javascript 操作 ACCESS ---- 邮编查询系统v1.0

    总结起来,本项目涵盖了以下几个关键知识点: 1. JavaScript与数据库交互:通过ActiveXObject访问Access数据库。 2. SQL查询:编写SQL语句以获取邮编信息。 3. 用户界面设计:HTML页面与JavaScript事件交互。 4. ...

    asp.net操作记录注意事项

    根据提供的文件信息,我们可以总结出以下ASP.NET操作记录的相关知识点: ### 1. ViewState与Hidden字段的使用 在ASP.NET中,ViewState是用于存储页面状态的一种机制,它会在页面回发时保持控件的状态。这有助于...

    为下拉框增加搜索功能(select2)

    在Vue项目中使用Select2,我们需要确保以下几点: 1. **安装依赖**:通过npm或yarn安装Select2,以及对应的Vue适配器,如`vue-select2`或`vue-select`。 ```bash npm install select2 vue-select2 ``` 2. **引入...

    一个基于纯js实现的左右(或上下)DubalListBox控件操作程序例子代码

    本示例是一个基于纯JavaScript实现的Dubal ListBox操作程序,它不依赖任何外部库,如jQuery或其他框架,这使得它具有轻量级和高度自定义的特点。 首先,我们来看`sample_select_list.htm`和`sample_list_test.htm`...

    js 实现combox 树选择

    要实现这样的功能,首先我们需要理解几个关键概念: 1. **HTML元素**:ComboBox的构建基础是HTML的`&lt;select&gt;`元素,但为了实现树形结构,可能需要使用`&lt;ul&gt;`和`&lt;li&gt;`来模拟树节点。输入框可以是一个独立的`&lt;input&gt;`...

    div模拟select下拉菜单美化效果实例

    这种模拟通常涉及以下几个关键步骤: 1. **结构构建**:创建一个`div`元素作为主容器,包含一个`ul`列表来存放所有选项。每个`li`元素代表一个`option`,可以通过JavaScript动态生成或修改。 2. **样式美化**:...

    Ext JS 删除的代码

    这个例子涵盖了Ext JS中几个重要的概念: 1. **组件创建**:使用`Ext.Toolbar`创建工具栏,并在其中添加按钮。 2. **事件监听**:按钮的`click`和`confirm`事件的监听,以及`ajax`的`success`回调。 3. **数据操作*...

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

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

    jquery搜索栏select下拉选择框

    在jQuery中,实现这样的下拉选择框涉及以下几个关键知识点: 1. **HTML结构**:首先,我们需要创建基本的HTML结构,包括一个输入框(input[type="text"])作为搜索栏和一个下拉选择框(select)。下拉选择框可以...

    Javascript中二维数组的遍历

    在数据分析中,我们可能需要遍历一个数据集的每个记录,并对每个记录进行分析。 注意事项 在遍历二维数组时,需要注意以下几点: * 使用 `length` 属性获取数组的长度,而不是使用 `size` 属性。 * 使用 `typeof`...

    几个实用的 jQuery 表单操作代码片段

    在前端开发中,jQuery 是一个不可或缺的工具,它极大地简化了 JavaScript 的操作,尤其是在处理DOM、事件、动画和Ajax交互等方面。在表单操作中,jQuery 提供了一系列方便的API,使得开发者可以更加高效地管理表单...

    JS数据库(SQL)操作小例

    根据给定的文件信息,本篇文章将详细解析“JS数据库(SQL)操作小例”中的关键技术点,包括如何使用JavaScript连接数据库、执行SQL查询以及如何显示查询结果等内容。 ### 核心技术点 #### 1. 使用ActiveX对象连接...

    div模拟select

    博文链接中的内容可能涉及以下几个知识点: 1. **HTML和CSS基础**: - `&lt;div&gt;`元素:HTML中的一个通用容器,用于组合其他HTML元素,通过CSS进行布局和样式设置。 - CSS选择器:用于选择页面上的HTML元素并应用...

Global site tag (gtag.js) - Google Analytics