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 相关文章推荐
对frameset、frame、iframe的js操作示例代码
Aug 16 Javascript
js动态拼接正则表达式的两种方法
Mar 04 Javascript
javascript单引号和双引号的区别和处理
May 14 Javascript
JS+CSS实现自动切换的网页滑动门菜单效果代码
Sep 14 Javascript
Javascript之Number对象介绍
Jun 07 Javascript
JS正则子匹配实例分析
Dec 22 Javascript
原生javascript上传图片带进度条【实例分享】
Apr 06 Javascript
vue-cli如何添加less 以及sass
Jul 06 Javascript
详解JavaScript按概率随机生成事件
Aug 02 Javascript
ES6中Set和Map数据结构,Map与其它数据结构互相转换操作实例详解
Feb 28 Javascript
JavaScript实现tab栏切换效果
Mar 16 Javascript
解决vue-cli输入命令vue ui没效果的问题
Nov 17 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
PHP6 mysql连接方式说明
2009/02/09 PHP
php fckeditor 调用的函数
2009/06/21 PHP
php smarty模版引擎中的缓存应用
2009/12/11 PHP
PHP判断搜索引擎蜘蛛并自动记忆到文件的代码
2012/02/04 PHP
PHP链接MySQL的常用扩展函数
2014/10/23 PHP
PHP中使用SimpleXML检查XML文件结构实例
2015/01/07 PHP
php支付宝手机网页支付类实例
2015/03/04 PHP
php实现将上传word文件转为html的方法
2015/06/03 PHP
jquery实现图片按比例缩放示例
2014/07/01 Javascript
用原生js做个简单的滑动效果的回到顶部
2014/10/15 Javascript
IE6/IE7中JavaScript json提示缺少标识符、字符串或数字问题处理
2014/12/16 Javascript
javascript+HTML5的Canvas实现Lab单车动画效果
2015/08/07 Javascript
如何解决hover在ie6中的兼容性问题
2016/12/15 Javascript
AngularJS+bootstrap实现动态选择商品功能示例
2017/05/17 Javascript
nodejs Assert中equal(),strictEqual(),deepEqual(),strictDeepEqual()比较
2017/09/18 NodeJs
JS继承与闭包及JS实现继承的三种方式
2017/10/15 Javascript
angularJS开发注意事项
2018/05/26 Javascript
vue列表单项展开收缩功能之this.$refs的详解
2019/05/05 Javascript
VueJS 取得 URL 参数值的方法
2019/07/19 Javascript
浅谈Vue.use到底是什么鬼
2020/01/21 Javascript
Vue常用的全选/反选的示例代码
2020/02/19 Javascript
OpenLayers3实现对地图的基本操作
2020/09/28 Javascript
[00:58]2016年国际邀请赛勇士令状宣传片
2016/06/01 DOTA
django2 快速安装指南分享
2018/01/05 Python
Python列表(list)所有元素的同一操作解析
2019/08/01 Python
pytorch实现特殊的Module--Sqeuential三种写法
2020/01/15 Python
基于HTML5 Canvas的3D动态Chart图表的示例
2017/11/02 HTML / CSS
销售员自我评价怎么写
2013/09/19 职场文书
自荐信格式的六要素
2013/09/21 职场文书
思想汇报格式
2014/01/05 职场文书
入党积极分子评语
2014/05/04 职场文书
公务员诚信承诺书
2014/05/26 职场文书
优秀求职信
2014/05/29 职场文书
2015年技术工作总结范文
2015/04/20 职场文书
SQL SERVER触发器详解
2022/02/24 SQL Server
pycharm无法安装cv2模块问题
2022/05/20 Python