jquery控制listbox中项的移动并排序的实现代码


Posted in Javascript onSeptember 28, 2010

首先是html代码,页面上放2个listbox控件和2个按钮用于移动项目

<table border="0"> 
<tr> 
<td width="156">全部水果:</td> 
<td width="142"> </td> 
<td width="482">我挑选的:</td> 
</tr> 
<tr> 
<td rowspan="2"><asp:ListBox SelectionMode="Multiple" ID="listall" Rows="12" Width="156" runat="server"></asp:ListBox></td> 
<td height="41" align="center"> 
<input type="button" id="btnleftmove" value=">>>" onclick="move('listall','listmy');"/><br /><br /> 
<input type="button" id="btnrighttmove" value="<<<" onclick="move('listmy','listall');"/> 
</td> 
<td rowspan="2"><asp:ListBox SelectionMode="Multiple" ID="listmy" Rows="12" Width="156" runat="server"></asp:ListBox></td> 
</tr> 
</table>

下面是在.cs文件中绑定一些数据

public partial class _Default : System.Web.UI.Page 
{ 
protected void Page_Load(object sender, EventArgs e) 
{ 
if (!IsPostBack) 
{ 
BindData(); 
} 
} 
private void BindData() 
{ 
ArrayList list=DataArray(); 
for (int i = 0; i < list.Count; i++) 
{ 
listall.Items.Add(list[i].ToString()); 
listall.Items[i].Attributes["tag"] = i.ToString(); //用tag记录排序字段 
} 
} 
private ArrayList DataArray() 
{ 
//用到的一些数据,这里已默认按第一个字的拼音排序 
ArrayList list = new ArrayList(); 
list.Add("草莓"); 
list.Add("梨"); 
list.Add("桔子"); 
list.Add("芒果"); 
list.Add("苹果"); 
list.Add("香蕉"); 
return list; 
} 
}

在实际使用时可根据数据库中的字段排序
下面是jquery的代码:

//移动用户选择的角色 
//setname:要移出数据的列表名称 getname:要移入数据的列表名称 
function move(setname,getname) 
{ 
var size=$("#"+setname+" option").size(); 
var selsize=$("#"+setname+" option:selected").size(); 
if(size>0&&selsize>0) 
{ 
$.each($("#"+setname+" option:selected"), function(id,own){ 
var text=$(own).text(); 
var tag=$(own).attr("tag"); 
$("#"+getname).prepend("<option tag=\""+tag+"\">"+text+"</option>"); 
$(own).remove(); 
$("#"+setname+"").children("option:first").attr("selected",true); 
}); 
} 
//重新排序 
$.each($("#"+getname+" option"), function(id,own){ 
orderrole(getname); 
}); 
} 
//按首字母排序角色列表 
function orderrole(listname) 
{ 
var size=$("#"+listname+" option").size(); 
var one=$("#"+listname+" option:first-child"); 
if(size>0) 
{ 
var text=$(one).text(); 
var tag=parseInt($(one).attr("tag")); 
//循环列表中第一项值下所有元素 
$.each($(one).nextAll(), function(id,own){ 
var nextag=parseInt($(own).attr("tag")); 
if(tag>nextag) 
{ 
$(one).remove(); 
$(own).after("<option tag=\""+tag+"\">"+text+"</option>"); 
one=$(own).next(); 
} 
}); 
} 
}
Javascript 相关文章推荐
Prototype使用指南之selector.js说明
Oct 26 Javascript
JavaScript 封装Ajax传递的数据代码
Jun 05 Javascript
Mootools 1.2教程 滑动效果(Slide)
Sep 15 Javascript
javascript 随机展示头像实现代码
Dec 06 Javascript
Javascript实现的简单右键菜单类
Sep 23 Javascript
BootStrap glyphicon图标无法显示的解决方法
Sep 06 Javascript
BootStrap 动态添加验证项和取消验证项的实现方法
Sep 28 Javascript
带你了解session和cookie作用原理区别和用法
Aug 14 Javascript
如何把vuejs打包出来的文件整合到springboot里
Jul 26 Javascript
详解mpvue scroll-view自动回弹bug解决方案
Oct 01 Javascript
javascript+HTML5 canvas绘制时钟功能示例
May 15 Javascript
js实现3D照片墙效果
Oct 28 Javascript
JQuery UI DatePicker中z-index默认为1的解决办法
Sep 28 #Javascript
13个绚丽的Jquery 界面设计网站推荐
Sep 28 #Javascript
基于Jquery的动态添加控件并取值的实现代码
Sep 24 #Javascript
封装的原生javascript弹出层代码
Sep 24 #Javascript
js最简单的拖拽效果实现代码
Sep 24 #Javascript
JavaScript 设计模式 安全沙箱模式
Sep 24 #Javascript
IE无法设置短域名下Cookie
Sep 23 #Javascript
You might like
php实现快速排序法函数代码
2012/08/27 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
用jQuery中的ajax分页实现代码
2011/09/20 Javascript
JavaScript(js)设置默认输入焦点(focus)
2012/12/28 Javascript
10个基于浏览器的JavaScript调试工具分享
2013/02/07 Javascript
For循环中分号隔开的3部分的执行顺序探讨
2014/05/27 Javascript
javascript加载xml 并解析各节点的值(实现方法)
2016/10/12 Javascript
vuejs父子组件通信的问题
2017/01/11 Javascript
AngularJS实现路由实例
2017/02/12 Javascript
js实现日期显示的一些操作(实例讲解)
2017/07/27 Javascript
Webpack框架核心概念(知识点整理)
2017/12/22 Javascript
mpvue写一个CPASS小程序的示例
2018/09/04 Javascript
vue+mock.js实现前后端分离
2019/07/24 Javascript
H5实现手机拍照和选择上传功能
2019/12/18 Javascript
JavaScript Tab菜单实现过程解析
2020/05/13 Javascript
vue中axios封装使用的完整教程
2021/03/03 Vue.js
python django使用haystack:全文检索的框架(实例讲解)
2017/09/27 Python
Python之自动获取公网IP的实例讲解
2017/10/01 Python
Python实现的人工神经网络算法示例【基于反向传播算法】
2017/11/11 Python
Python基于matplotlib实现绘制三维图形功能示例
2018/01/18 Python
使用tensorflow实现线性回归
2018/09/08 Python
python 字符串只保留汉字的方法
2018/11/16 Python
python3实现点餐系统
2019/01/24 Python
django框架面向对象ORM模型继承用法实例分析
2019/07/29 Python
Python request使用方法及问题总结
2020/04/26 Python
CSS去掉A标签(链接)虚线框的方法
2014/04/01 HTML / CSS
在使用非全零作为空指针内部表达的机器上, NULL是如何定义
2014/11/09 面试题
SQL面试题
2013/12/09 面试题
个人求职信范文分享
2013/12/13 职场文书
《在山的那边》教学反思
2014/02/23 职场文书
我的老师教学反思
2014/05/01 职场文书
图书室标语
2014/06/21 职场文书
防汛通知
2015/04/25 职场文书
写给纪委的违纪检讨书
2015/05/05 职场文书
英雄儿女观后感
2015/06/09 职场文书
海贼王十大逆天果实 魂魂果实上榜,岩浆果实攻击力最强
2022/03/18 日漫