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 相关文章推荐
使用jQuery清空file文件域的解决方案
Apr 12 Javascript
利用JS来控制键盘的上下左右键(示例代码)
Dec 14 Javascript
jquery 自定义容器下雨效果可将下雨图标改为其他
Apr 23 Javascript
用jquery.sortElements实现table排序
May 04 Javascript
js操作IE浏览器弹出浏览文件夹可以返回目录路径
Jul 14 Javascript
js的toLowerCase方法用法实例
Jan 27 Javascript
javascript实现俄罗斯方块游戏的思路和方法
Apr 27 Javascript
jQuery插件zTree实现获取当前选中节点在同级节点中序号的方法
Mar 08 Javascript
JavaScript实现点击出现图片并统计点击次数功能示例
Jul 23 Javascript
vue-i18n结合Element-ui的配置方法
May 20 Javascript
微信小程序如何获取用户头像和昵称
Sep 23 Javascript
vue3+typescript实现图片懒加载插件
Oct 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连接sql server 2005环境配置及问题解决
2014/08/08 PHP
简要剖析PHP的Yii框架的组件化机制的基本知识
2016/03/17 PHP
php写入txt乱码的解决方法
2019/09/17 PHP
Jsonp 跨域的原理以及Jquery的解决方案
2011/06/27 Javascript
javascript时间自动刷新实现原理与步骤
2013/01/06 Javascript
JS鼠标滑过图片时切换图片实现思路
2013/09/12 Javascript
js中document.write使用过程中的一点疑问解答
2014/03/20 Javascript
Bootstrap每天必学之缩略图与警示窗
2015/11/29 Javascript
JS当前页面登录注册框,固定DIV,底层阴影的实例代码
2016/09/29 Javascript
AngularJs入门教程之环境搭建+创建应用示例
2016/11/01 Javascript
Node.js的Mongodb使用实例
2016/12/30 Javascript
js实现rem自动匹配计算font-size的示例
2017/11/18 Javascript
微信小程序实现星级评分和展示
2018/07/05 Javascript
JavaScript设计模式之命令模式实例分析
2019/01/16 Javascript
vue的keep-alive中使用EventBus的方法
2019/04/23 Javascript
Node.js 获取微信JS-SDK CONFIG的方法示例
2019/05/21 Javascript
React Native 混合开发多入口加载方式详解
2019/09/23 Javascript
p5.js临摹动态图形实现方法详解
2019/10/23 Javascript
JS实现的雪花飘落特效示例
2019/12/03 Javascript
webpack的 rquire.context用法实现工程自动化的方法
2020/02/07 Javascript
js最全的数组的降维5种办法(小结)
2020/04/28 Javascript
vue使用svg文件补充-svg放大缩小操作(使用d3.js)
2020/09/22 Javascript
[03:57]DOTA2英雄梦之声_第03期_幻影刺客
2014/06/21 DOTA
python中使用pyhook实现键盘监控的例子
2014/07/18 Python
Python本地与全局命名空间用法实例
2015/06/16 Python
对Pandas DataFrame缺失值的查找与填充示例讲解
2018/11/06 Python
python GUI库图形界面开发之PyQt5结合Qt Designer创建信号与槽的详细方法与实例
2020/03/08 Python
使用python实现CGI环境搭建过程解析
2020/04/28 Python
Python用类实现扑克牌发牌的示例代码
2020/06/01 Python
Python模拟键盘输入自动登录TGP
2020/11/27 Python
Python OpenCV中的numpy与图像类型转换操作
2020/12/11 Python
草莓巧克力:Shari’s Berries
2017/02/07 全球购物
英国伦敦的睡衣品牌:Asceno
2019/10/06 全球购物
九年级历史教学反思
2014/01/27 职场文书
2014年幼儿园小班工作总结
2014/12/04 职场文书
2015年安置帮教工作总结
2015/05/22 职场文书