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实现查找字符串中第一个不重复的字符
Dec 29 Javascript
Javascript毫秒数用法实例
Feb 05 Javascript
JS实现点击颜色块切换指定区域背景颜色的方法
Feb 25 Javascript
JavaScript中的getDay()方法使用详解
Jun 09 Javascript
jQuery基于muipicker实现仿ios时间选择
Feb 22 Javascript
JS中使用apply、bind实现为函数或者类传入动态个数的参数
Apr 26 Javascript
Bootstrap的popover(弹出框)在append后弹不出(失效)
Feb 27 Javascript
vue实现简单表格组件实例详解
Apr 16 Javascript
javaScript实现复选框全选反选事件详解
Nov 20 Javascript
jQuery除指定区域外点击任何地方隐藏DIV功能
Nov 13 jQuery
微信小程序开发之map地图组件定位并手动修改位置偏差
Aug 17 Javascript
Angular CLI发布路径的配置项浅析
Mar 29 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调用Linux命令权限不足问题解决方法
2015/02/07 PHP
在html文件中也可以执行php语句的方法
2015/04/09 PHP
利用PHP将部分内容用星号替换
2020/04/21 PHP
smarty模板数学运算示例
2016/12/11 PHP
php安装扩展mysqli的实现步骤及报错解决办法
2017/09/23 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
2017/09/30 PHP
PHP测试框架PHPUnit组织测试操作示例
2018/05/28 PHP
JavaScript面向对象知识串结(读JavaScript高级程序设计(第三版))
2012/07/17 Javascript
JQuery判断HTML元素是否存在的两种解决方法
2013/12/26 Javascript
排序算法的javascript实现与讲解(99js手记)
2014/09/28 Javascript
JavaScript中string转换成number介绍
2014/12/31 Javascript
js实现仿QQ秀换装效果的方法
2015/03/04 Javascript
再次谈论React.js实现原生js拖拽效果引起的一系列问题
2016/04/03 Javascript
Jquery与Bootstrap实现后台管理页面增删改查功能示例
2017/01/22 Javascript
基于MVC方式实现三级联动(JavaScript)
2017/01/23 Javascript
jquery设置css样式的多种方法(总结)
2017/02/21 Javascript
解析Vue2.0双向绑定实现原理
2017/02/23 Javascript
微信小程序视图控件与bindtap之间的问题的解决
2019/04/08 Javascript
微信小程序scroll-view隐藏滚动条的方法详解
2020/03/25 Javascript
Vue CLI3移动端适配(px2rem或postcss-plugin-px2rem)
2020/04/27 Javascript
[01:02:09]Liquid vs TNC 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21
2020/07/19 DOTA
Python备份Mysql脚本
2008/08/11 Python
Python中逗号的三种作用实例分析
2015/06/08 Python
python关于调用函数外的变量实例
2019/12/26 Python
pytorch forward两个参数实例
2020/01/17 Python
Python中logging日志库实例详解
2020/02/19 Python
Python Websocket服务端通信的使用示例
2020/02/25 Python
HTML5如何使用SVG的方法示例
2019/01/11 HTML / CSS
美体小铺波兰官方网站:The Body Shop波兰
2019/09/03 全球购物
天网面试题
2013/04/07 面试题
2013年高中生自我评价
2013/10/23 职场文书
国庆节演讲稿范文2014
2014/09/19 职场文书
结婚司仪主持词
2015/06/29 职场文书
JavaScript ES6的函数拓展
2022/01/18 Javascript
JavaScript模拟实现网易云轮播效果
2022/04/04 Javascript
Java 多线程并发FutureTask
2022/06/28 Java/Android