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 相关文章推荐
js 兼容多浏览器的回车和鼠标焦点事件代码(IE6/7/8,firefox,chrome)
Apr 14 Javascript
jQuery 淡入淡出 png图在ie8下有黑色边框的解决方法
Mar 05 Javascript
js运动框架_包括图片的淡入淡出效果
May 11 Javascript
Js冒泡事件详解及阻止示例
Mar 21 Javascript
ExpressJS入门实例
Jan 14 Javascript
JS实现5秒钟自动封锁div层的方法
Feb 20 Javascript
mvc 、bootstrap 结合分布式图简单实现分页
Oct 10 Javascript
js中编码函数:escape,encodeURI与encodeURIComponent详解
Mar 21 Javascript
详解AngularJS2 Http服务
Jun 26 Javascript
jQuery+ajax实现修改密码验证功能实例详解
Jul 06 jQuery
JS中Object对象的原型概念基础
Jan 29 Javascript
vue+elementUI实现表格列的显示与隐藏
Apr 13 Vue.js
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
自动分页的不完整解决方案
2007/01/12 PHP
php生成缩略图的类代码
2008/10/02 PHP
PHP 模拟$_PUT实现代码
2010/03/15 PHP
PHP中最容易忘记的一些知识点总结
2013/04/28 PHP
PHP网络操作函数汇总
2015/05/18 PHP
php文件系统处理方法小结
2016/05/23 PHP
详解PHP防止盗链防止迅雷下载的方法
2017/04/26 PHP
PHP实现的redis主从数据库状态检测功能示例
2017/07/20 PHP
PHP PDOStatement::errorCode讲解
2019/01/31 PHP
PHP实现二维数组按照指定的字段进行排序算法示例
2019/04/23 PHP
JavaScript 判断浏览器类型及版本
2009/02/21 Javascript
JS判断是否为数字,是否为整数,是否为浮点数的代码
2010/04/24 Javascript
jQuery版仿Path菜单效果
2011/12/15 Javascript
createElement与createDocumentFragment的点点区别小结
2011/12/19 Javascript
JavaScript调用后台的三种方法实例
2013/10/17 Javascript
js时钟翻牌效果实现代码分享
2020/07/31 Javascript
分享jQuery插件的学习笔记
2016/01/14 Javascript
ECharts仪表盘实例代码(附源码下载)
2016/02/18 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(三)
2016/09/14 Javascript
JavaScript页面实时显示当前时间实例代码
2016/10/23 Javascript
Ajax的概述与实现过程
2016/11/18 Javascript
JS实现求数组起始项到终止项之和的方法【基于数组扩展函数】
2017/06/13 Javascript
VUE利用vuex模拟实现新闻点赞功能实例
2017/06/28 Javascript
微信小程序“摇一摇”的实例代码
2017/07/20 Javascript
详解JavaScript基础知识(JSON、Function对象、原型、引用类型)
2018/01/16 Javascript
微信小程序设置全局请求URL及封装wx.request请求操作示例
2019/04/02 Javascript
关于vue2强制刷新,解决页面不会重新渲染的问题
2019/10/29 Javascript
Python编写电话薄实现增删改查功能
2016/05/07 Python
pyqt 实现QlineEdit 输入密码显示成圆点的方法
2019/06/24 Python
python通过matplotlib生成复合饼图
2020/02/06 Python
Python二元算术运算常用方法解析
2020/09/15 Python
如何通过 CSS 写出火焰效果
2021/03/24 HTML / CSS
小学评语大全
2014/04/22 职场文书
国家奖学金获奖感言
2014/08/16 职场文书
简单介绍Python的第三方库yaml
2021/06/18 Python
MySql中的json_extract函数处理json字段详情
2022/06/05 MySQL