`
jasonw68
  • 浏览: 154154 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

List for js

阅读更多

//删除select列表中选中的选项
function deleted(obj) {
	if (obj == null) return;
	if (obj.tagName != "SELECT") return;
	for (var i=obj.options.length-1;i>=0;i--) {
		if (obj.options[i].selected && obj.options[i].added) {
			obj.removeChild(obj.options[i]);
		}
	}
}
//全选select列表中的选项
function selectAll(obj) {
	if (obj == null) return;
	if (obj.tagName != "SELECT") return;
	var length = obj.options.length;

	for (var i=0;i<length;i++) {
		obj.options[i].selected = true;
	}
}
//取消给定列表中的所有选中的选项
function selectNone(obj) {
	if (obj == null) return;
	if (obj.tagName != "SELECT") return;
	var length = obj.options.length;
	for (var i=0;i<length;i++) {
		obj.options[i].selected = false;
	}
}
//判断选项在列表中是否存在
function optionExists(obj,opt) {
	var length = obj.options.length;
	for (var i=0;i<length;i++) {
		if(typeof obj.options[i].id != 'undefined' && typeof opt.id != "undefined" && obj.options[i].id == opt.id){
			return true;
		}else if (obj.options[i].text == opt.text && obj.options[i].value == opt.value){
			return true;
		}
	}
	return false;	//如果不存在,则返回false
}
//将列表框fromList中选中的项添加到toList列表框中,不向toList中的添加重复项
function add(fromList,toList) {
	for (var i=0;i<fromList.options.length;i++) {
		if (fromList.options[i].selected) {		//如果选项被选中,则需要加入到obj2中。
                        //进行重复性检查
                        //如果toList列表框中存在指定的选项,进行下一个循环
			if (optionExists(toList,fromList.options[i])) {	
					continue;
			}
			var opt = fromList.options[i].cloneNode(false);
			opt.text = fromList.options[i].text;
            opt.value = fromList.options[i].value;
			toList.options.add(opt);		//将选项加入到toList中。
			fromList.options[i].added = true;
		}
	}
}
//排序,obj为列表框对象,order为排序属性,desc为是否倒序(true-倒序),采用冒泡算法的改进算法
function orderList(obj,order,desc) {
	var chg = null;
	var flag = true;	//是否进行过交换的标志
	var m = null;
	var n = null;
	var len = obj.options.length - 1;
	for (var j=len;j>0;j--) {
		flag = true;
		for (var k=0;k<j;k++) {
			eval("m = parseFloat(obj.options[k]." + order + ");");
			eval("n = parseFloat(obj.options[k+1]." + order + ");");
			if (desc) {		//如果是倒序排列,则交换m和n
				var tt = m;
				m = n;
				n = tt;
			}
			if (m > n) {	//如果m > n 交换两个选项
				chg = obj.options[k].cloneNode(false);
				chg.text = obj.options[k].text;
				obj.options[k] = obj.options[k+1].cloneNode(false);
				obj.options[k].text = obj.options[k+1].text;
				obj.options[k+1] = chg.cloneNode(false);
				obj.options[k+1].text = chg.text;
				flag = false;		//交换过,设为false
			}
		}
		if (flag) break;		//如果一次都没有交还,则退出
	}
}
//事件处理
function doEvent(fromListId, toListId, isSelectAll) {
        if(fromListId == toListId) return;
        var fromList = document.getElementById(fromListId);
        var toList = document.getElementById(toListId);
	if (fromList == null || fromList.tagName != "SELECT" || toList == null || toList.tagName != "SELECT") return;
    
	if (isSelectAll == true) {		//如果需要全部选择
		selectAll(fromList);
	}
	add(fromList, toList);		//在toList中添加fromList中选中的项
    	deleted(fromList);	        //删除fromList移动到toList的选项
}
//处理单击事件
function doClick(fromListId, toListId, isAll) {
	doEvent(fromListId, toListId, isAll);
}
//处理双击事件
function doDblClick(fromListId, toListId) {
	doEvent(fromListId, toListId, false);
}
 
分享到:
评论

相关推荐

    arcgis for js自定义鼠标样式.zip

    ArcGIS for JS API是Esri公司提供的JavaScript库,用于构建地理信息系统(GIS)应用程序,特别是Web地图。通过自定义鼠标样式,可以提升用户体验,指示用户当前的操作模式,比如选择、测量、拖动等。 首先,我们来...

    JS List的contains方法与Array的contains方法的使用

    ### JS List的contains方法与Array的contains方法的使用 在JavaScript中,`Array`是用于存储多个值的数据结构。然而,原生JavaScript并没有提供一个直接的`contains`方法来检查数组是否包含某个元素。通常情况下,...

    String[] list 相互转化

    for (String s : arr) { list.add(s); } ``` ### 代码示例 下面是一个完整的 Java 代码示例,展示了如何进行双向转换: ```java import java.util.ArrayList; import java.util.Arrays; import java.util.List; ...

    ajax传递list对象数组

    通过以上介绍,我们了解了如何在前端使用JavaScript处理List对象数组并通过AJAX发送给后端,以及后端如何接收并处理这些数据。这在实际项目开发中是非常实用的技巧。希望本文能帮助到正在学习或实践这一技术的朋友。

    Javascript For Beginners

    ### JavaScript for Beginners – 关键知识点概述 #### 一、基础知识 - **JavaScript**:一种广泛应用于网页开发中的脚本语言,常用于实现网页交互性,提高用户体验。 - **HTML页面**:HTML(HyperText Markup ...

    Asp.net CheckBoxList操作集合

    本篇文章将详细讲解如何进行CheckBoxList的操作,包括获取选中项、实现全选、取消选中以及反选功能,并结合JavaScript进行交互式操作。 首先,我们来了解`CheckBoxList`的基本结构。在ASP.NET中,CheckBoxList控件...

    vue-animated-list, 一个 Vue.js 插件,用于轻松设置 `v for` 渲染列表的动画.zip

    vue-animated-list, 一个 Vue.js 插件,用于轻松设置 `v for` 渲染列表的动画 vue-animated-list注意:这个插件仅用于 Vue 。 Vue 2.0支持将动画移出框。一个 Vue.js 插件,用于轻松设置 v-for 渲染列表的动画。现场...

    Looping through a HTML list with JavaScript.zip

    for (let item of listItems) { console.log(item.innerText); } ``` 5. **使用`Array.from()`转换** - 如果希望使用数组方法,如`forEach`,可以先将`NodeList`转换为数组。`Array.from()`方法可以做到这一点...

    blocklist_BlockList_zip_源码

    开发者可能使用各种编程语言(如JavaScript、Python、C++等)来解析和处理这些XML数据,构建BlockList功能。解析XML的过程通常涉及DOM(文档对象模型)、SAX(简单API for XML)或XPath(XML路径语言)等技术。 ...

    map转化为list

    for (Map.Entry, Integer&gt; entry : map.entrySet()) { keys.add(entry.getKey()); values.add(entry.getValue()); } System.out.println("Entry List: " + entryList); System.out.println("Keys: " + keys);...

    在JSP页面用JS处理从服务器返回的LIST集合

    在JSP页面中使用JavaScript处理从服务器返回的LIST集合是一个常见的需求,特别是在构建动态Web应用时。这篇博客文章(https://topbox163.iteye.com/blog/660431)可能探讨了如何有效地实现这一功能。在本文中,我们...

    Vuejs+tolist

    Vue.js 是一款轻量级的前端JavaScript框架,它以其易用性、灵活性和高效性而备受开发者喜爱。在"Vuejs+tolist"这个项目中,我们很显然关注的是如何使用Vue.js来创建一个待办事项(To-Do List)应用程序。下面我们将...

    Arcgis javascript API 本地Tomcat下部署

    在完成以上步骤后,为了使Tomcat服务器识别API,还需要在Tomcat的配置文件web.xml中添加欢迎页面(welcome-file-list)设置,如添加index.jsp,这样当访问服务器根路径时,会默认加载这个页面。 启动Tomcat服务器,...

    json嵌套list

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于前后端数据交互。在描述的场景中,“json嵌套list”指的是JSON对象中包含一个或多个列表(数组)的情况,这种结构允许我们存储复杂的数据集合...

    json字符串转化为list泛型

    for (User user : userList) { System.out.println("Name: " + user.getName() + ", Age: " + user.getAge()); } } catch (Exception e) { e.printStackTrace(); } } } ``` 在上述代码中,`readValue`方法...

    js解析json读取List中的实体对象示例

    1、由后台action 传给前台是需要将map 转成json格式 代码如下: Map&lt;String&gt; resultMap; JSONObject json = JSONObject.fromObject(resultMap);...for(var key in obj){ //第一层循环取到各个list var

    CheckBoxList的用法

    2. **增强用户体验**:使用CSS和JavaScript增强界面的交互性和美观度。 3. **确保安全性**:在处理用户输入时,必须对数据进行验证和清理,防止SQL注入等攻击。 综上所述,`CheckBoxList`是一个非常实用且灵活的...

    c标签遍历集合嵌套的List集合

    &lt;a href="javascript:void(0);" id="" onclick="searchpropery(this);"&gt;${var3} ``` 这段代码展示了如何遍历嵌套的List。外层的`c:forEach`遍历了`ppList`中的每个`ProductProperty`对象,而内层的`c:...

    将List对象列表转换成JSON格式的类实现方法

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition – December 1999的一个子集...

    TODO List App Using JavaScript.zip

    【标签】:"js" 和 "游戏" 这两个标签虽然看似关联性不大,但在实际开发中,JavaScript不仅用于创建功能性的网页应用,也常被用于制作各种类型的游戏。这里的“游戏”可能指的是通过JavaScript实现的一些交互元素,...

Global site tag (gtag.js) - Google Analytics