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 相关文章推荐
Javascript实例教程(19) 使用HoTMetal(2)
Dec 23 Javascript
jQuery实现仿美橙互联两级导航菜单的方法
Mar 09 Javascript
jquery实现表单验证并阻止非法提交
Jul 09 Javascript
jquery实现LED广告牌旋转系统图片切换效果代码分享
Aug 26 Javascript
跟我学习javascript的垃圾回收机制与内存管理
Nov 23 Javascript
JavaScript Promise 用法
Jun 14 Javascript
深入浅析Vue组件开发
Nov 25 Javascript
一次围绕setTimeout的前端面试经验分享
Jun 15 Javascript
浅析js中mvvm模式实现的原理
Oct 06 Javascript
jQuery事件blur()方法的使用实例讲解
Mar 30 jQuery
vue-父子组件和ref实例详解
Nov 10 Javascript
Element Card 卡片的具体使用
Jul 26 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
PHP中PDO的错误处理
2011/09/04 PHP
php单态设计模式(单例模式)实例
2014/11/18 PHP
php生成随机颜色方法汇总
2014/12/03 PHP
基于php的微信公众平台开发入门实例
2015/04/15 PHP
Linux平台php命令行程序处理管道数据的方法
2016/11/10 PHP
php7安装mongoDB扩展的方法分析
2017/08/02 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
2018/02/07 PHP
PHP使用openssl扩展实现加解密方法示例
2020/02/20 PHP
Jquery弹出窗口插件 LeanModal的使用方法
2012/03/10 Javascript
javascript 得到文件后缀名的思路及实现
2020/05/09 Javascript
JavaScript调试技巧之console.log()详解
2014/03/19 Javascript
drag-and-drop实现图片浏览器预览
2015/08/06 Javascript
js实现图片放大和拖拽特效代码分享
2015/09/05 Javascript
详解NodeJS Https HSM双向认证实现
2019/03/12 NodeJs
微信小程序webview与h5通过postMessage实现实时通讯的实现
2019/08/20 Javascript
layui 实现自动选择radio单选框(checked)的方法
2019/09/03 Javascript
初学vue出现空格警告的原因及其解决方案
2019/10/31 Javascript
JavaScript实现表单验证功能
2020/12/09 Javascript
浅析python协程相关概念
2018/01/20 Python
python实现QQ邮箱/163邮箱的邮件发送
2019/01/22 Python
python属于跨平台语言码
2020/06/09 Python
CSS3实战第一波 让我们尽情的圆角吧
2010/08/27 HTML / CSS
伦敦眼门票在线预订:London Eye
2018/05/31 全球购物
iHerb中文官网:维生素、保健品和健康产品
2018/11/01 全球购物
艺术用品:Arteza
2018/11/25 全球购物
50道外企软件测试面试题
2014/08/18 面试题
法学院方阵解说词
2014/01/29 职场文书
写求职信有什么意义
2014/02/17 职场文书
授权委托书样本及填写说明
2014/09/19 职场文书
党的群众路线领导班子整改方案
2014/09/27 职场文书
同学会邀请函模板
2015/01/30 职场文书
小学端午节活动总结
2015/02/11 职场文书
解放思想大讨论活动总结
2015/05/09 职场文书
2015年远程教育工作总结
2015/05/20 职场文书
超级礼物观后感
2015/06/15 职场文书
2016年小学“公民道德宣传日”活动总结
2016/04/01 职场文书