jquery控制listbox中项的移动并排序


Posted in Javascript onNovember 12, 2009

首先是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(); 
} 
}); 
} 
}

这样就完成了简单的js控制两个列表项的值移动。
Javascript 相关文章推荐
关于B/S判断浏览器断开的问题讨论
Oct 29 Javascript
让jQuery Mobile不显示讨厌loading界面的方法
Feb 19 Javascript
Jquery使用小技巧汇总
Dec 29 Javascript
Angularjs中使用Filters详解
Mar 11 Javascript
Web 开发中Ajax的Session 超时处理方法
Jan 19 Javascript
js 事件的传播机制(实例讲解)
Jul 20 Javascript
bootstrap fileinput插件实现预览上传照片功能
Jan 23 Javascript
Vue中Axios从远程/后台读取数据
Jan 21 Javascript
JavaScript如何获取一个元素的样式信息
Jul 29 Javascript
微信小程序事件流原理解析
Nov 27 Javascript
Vue初始化中的选项合并之initInternalComponent详解
Jun 11 Javascript
浅谈JavaScript中this的指向问题
Jul 28 Javascript
Jquery 获取表单text,areatext,radio,checkbox,select值的代码
Nov 12 #Javascript
两个select之间option的互相添加操作(jquery实现)
Nov 12 #Javascript
XHTML下,JS浮动代码失效的问题
Nov 12 #Javascript
把html页面的部分内容保存成新的html文件的jquery代码
Nov 12 #Javascript
Javascript 定时器调用传递参数的方法
Nov 12 #Javascript
Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别
Nov 12 #Javascript
JS解析XML的实现代码
Nov 12 #Javascript
You might like
基于OpenCV的PHP图像人脸识别技术
2009/10/11 PHP
Javascript实例教程(19) 使用HoTMetal(6)
2006/12/23 Javascript
用roll.js实现的图片自动滚动+鼠标触动的特效
2007/03/18 Javascript
javascript css在IE和Firefox中区别分析
2009/02/18 Javascript
javascript 三种编解码方式
2010/02/01 Javascript
Javascript中获取出错代码所在文件及行数的代码
2010/09/23 Javascript
javascript开发技术大全-第1章javascript概述
2011/07/03 Javascript
javascript学习笔记(六)数据类型和JSON格式
2014/10/08 Javascript
jQuery获取与设置iframe高度的方法
2016/08/01 Javascript
使用BootStrapValidator完成前端输入验证
2016/09/28 Javascript
AngularJS入门教程之路由机制ngRoute实例分析
2016/12/13 Javascript
jQuery EasyUI 页面加载等待及页面等待层
2017/02/06 Javascript
Javascript实现信息滚动效果
2017/05/18 Javascript
详解微信第三方小程序代开发
2017/06/23 Javascript
Angular4学习教程之HTML属性绑定的方法
2018/01/04 Javascript
在小程序中使用Echart图表的示例代码
2018/08/02 Javascript
vue中@change兼容问题详解
2019/10/25 Javascript
微信小程序点击按钮动态切换input的disabled禁用/启用状态功能
2020/03/07 Javascript
完美解决通过IP地址访问VUE项目的问题
2020/07/18 Javascript
[48:48]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS Dream TIME
2014/05/21 DOTA
pyqt4教程之messagebox使用示例分享
2014/03/07 Python
Python设计模式之单例模式实例
2014/04/26 Python
Python中暂存上传图片的方法
2015/02/18 Python
python持久性管理pickle模块详细介绍
2015/02/18 Python
简单实现python聊天程序
2018/04/01 Python
wx.CheckBox创建复选框控件并响应鼠标点击事件
2018/04/25 Python
Python 字符串与数字输出方法
2018/07/16 Python
想学python 这5本书籍你必看!
2018/12/11 Python
Python socket非阻塞模块应用示例
2019/09/12 Python
CSS3中31种选择器使用方法教程
2013/12/05 HTML / CSS
详解Canvas 跨域脱坑实践
2018/11/07 HTML / CSS
请写出char *p与"零值"比较的if语句
2014/09/24 面试题
求职者简历中的自我评价
2013/10/20 职场文书
计算机专业毕业生的自我评价
2013/11/18 职场文书
提拔干部考察材料
2014/05/26 职场文书
Jupyter notebook 不自动弹出网页的解决方案
2021/05/21 Python