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 相关文章推荐
javascript Base类 包含基本的方法
Jul 22 Javascript
基于jQuery的表格操作插件
Apr 22 Javascript
IE6下opacity与JQuery的奇妙结合
Mar 01 Javascript
Node.js巧妙实现Web应用代码热更新
Oct 22 Javascript
在AngularJS框架中处理数据建模的方式解析
Mar 05 Javascript
jQuery自定义图片缩放拖拽插件imageQ实现方法(附demo源码下载)
May 27 Javascript
jQuery Validate验证表单时多个name相同的元素只验证第一个的解决方法
Dec 24 Javascript
EasyUI创建人员树的实例代码
Sep 15 Javascript
JavaScript 中 JSON.parse 函数 和 JSON.stringify 函数
Dec 05 Javascript
vue通过video.js解决m3u8视频播放格式的方法
Jul 30 Javascript
VUE Elemen-ui之穿梭框使用方法详解
Jan 19 Javascript
WebPack工具运行原理及入门教程
Dec 02 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过滤危险html代码
2008/08/18 PHP
超小PHP小马小结(方便查找后门的朋友)
2012/05/05 PHP
深入PHP异步执行的详解
2013/06/03 PHP
yii操作cookie实例简介
2014/07/09 PHP
Php-Redis安装测试笔记
2015/03/05 PHP
PHP安装threads多线程扩展基础教程
2015/11/17 PHP
功能强大的PHP发邮件类
2016/08/29 PHP
PHP的mysqli_thread_id()函数讲解
2019/01/24 PHP
PHP使用openssl扩展实现加解密方法示例
2020/02/20 PHP
如何在PHP中使用AES加密算法加密数据
2020/06/24 PHP
Javascript中的变量使用说明
2010/05/18 Javascript
学习面向对象之面向对象的术语
2010/11/30 Javascript
node.js中的fs.utimesSync方法使用说明
2014/12/15 Javascript
jQuery中outerWidth()方法用法实例
2015/01/19 Javascript
分享一个自己写的简单的javascript分页组件
2015/02/15 Javascript
JS实现n秒后自动跳转的两种方法
2020/11/30 Javascript
nodejs微信公众号支付开发
2016/09/19 NodeJs
Javascript中内建函数reduce的应用详解
2016/10/20 Javascript
微信小程序 图片宽度自适应的实现
2017/04/06 Javascript
[js高手之路]寄生组合式继承的优势详解
2017/08/28 Javascript
vue router demo详解
2017/10/13 Javascript
详解如何使用微信小程序云函数发送短信验证码
2019/03/13 Javascript
vue中实现点击按钮滚动到页面对应位置的方法(使用c3平滑属性实现)
2019/12/29 Javascript
基于python的七种经典排序算法(推荐)
2016/12/08 Python
Python切片工具pillow用法示例
2018/03/30 Python
使用python读取csv文件快速插入数据库的实例
2018/06/21 Python
python matplotlib实现将图例放在图外
2020/04/17 Python
世界上最好的足球商店:Unisport
2019/03/02 全球购物
Dr. Martens马汀博士法国官网:马丁靴鼻祖
2020/01/15 全球购物
会员活动策划方案
2014/08/19 职场文书
机关中层领导干部群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
高校教师个人工作总结2014
2014/12/17 职场文书
个人更名证明
2015/06/23 职场文书
MySQL一些常用高级SQL语句
2021/07/03 MySQL
Elasticsearch 数据类型及管理
2022/04/19 Python
利用Apache Common将java对象池化的问题
2022/06/16 Servers