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中String类的subString()方法和slice()方法
May 24 Javascript
js实现图片轮换效果代码
Apr 16 Javascript
跟我学习javascript的执行上下文
Nov 18 Javascript
jquery 输入框查找关键字并提亮颜色的实例代码
Jan 23 jQuery
JS简单实现动态添加HTML标记的方法示例
Apr 08 Javascript
JavaScript解决浮点数计算不准确问题的方法分析
Jul 09 Javascript
基于jQuery ztree实现表格风格的树状结构
Aug 31 jQuery
jquery 验证用户名是否重复代码实例
May 14 jQuery
JavaScript获取某一天所在的星期
Sep 05 Javascript
vue计算属性无法监听到数组内部变化的解决方案
Nov 06 Javascript
JavaScript 几种循环方式以及模块化的总结
Sep 03 Javascript
JS的深浅复制详细
Oct 16 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
用header 发送cookie的php代码
2007/03/16 PHP
php仿QQ验证码的实例分析
2013/07/01 PHP
php+mysql实现用户注册登陆的方法
2015/01/03 PHP
阿里云PHP SMS短信服务验证码发送方法
2017/07/11 PHP
PHP实现图的邻接矩阵表示及几种简单遍历算法分析
2017/11/24 PHP
PHP的微信支付接口使用方法讲解
2019/03/08 PHP
js函数般调用正则
2008/04/08 Javascript
非jQuery实现照片散落桌子上,单击放大的LightBox效果
2014/11/28 Javascript
原生js实现图片轮播特效
2015/12/18 Javascript
简单理解Vue条件渲染
2016/12/03 Javascript
JScript实现地址选择功能
2017/08/15 Javascript
深入剖析Express cookie-parser中间件实现示例
2018/02/01 Javascript
JS中移除非数字最多保留一位小数
2018/05/09 Javascript
jquery中为什么能用$操作
2019/06/18 jQuery
如何给element添加一个抽屉组件的方法步骤
2019/07/14 Javascript
jQuery提示框插件SweetAlert用法分析
2019/08/05 jQuery
vue项目,代码提交至码云,iconfont的用法说明
2020/07/30 Javascript
解决windows下Sublime Text 2 运行 PyQt 不显示的方法分享
2014/06/18 Python
Python工程师面试题 与Python基础语法相关
2016/01/14 Python
Python3 pywin32模块安装的详细步骤
2020/05/26 Python
python3 中时间戳、时间、日期的转换和加减操作
2020/07/14 Python
python如何支持并发方法详解
2020/07/25 Python
python实现简单的tcp 文件下载
2020/09/16 Python
英国领先的隐形眼镜在线供应商:Lenstore.co.uk
2019/11/24 全球购物
Edwaybuy西班牙:小米在线商店
2019/12/04 全球购物
百度吧主申请感言
2014/01/12 职场文书
计算机求职自荐信范文
2014/04/19 职场文书
教师读书活动总结
2014/05/07 职场文书
社区禁毒工作方案
2014/06/02 职场文书
会员卡清退活动总结
2014/08/27 职场文书
2014年党员个人工作总结
2014/12/02 职场文书
党员干部学习心得体会
2016/01/23 职场文书
如何用Navicat操作MySQL
2021/05/12 MySQL
MySQL触发器的使用
2021/05/24 MySQL
SpringCloud Alibaba项目实战之nacos-server服务搭建过程
2021/06/21 Java/Android
永中文档在线转换预览基于nginx配置部署方案
2022/06/10 Servers