社区
JavaScript
帖子详情
用js来排序,可以实现吗?
szjq
2006-11-13 03:34:41
我现在有两个select框,属性是multiple,选中左边一栏里的项目可以复制到右边原先空的select框里,如果复制好多条过去后,我想对复制到右边复选框的项排序,就是升序和降序排列,有人实现过这样的功能吗???
...全文
659
9
打赏
收藏
用js来排序,可以实现吗?
我现在有两个select框,属性是multiple,选中左边一栏里的项目可以复制到右边原先空的select框里,如果复制好多条过去后,我想对复制到右边复选框的项排序,就是升序和降序排列,有人实现过这样的功能吗???
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
szjq
2006-11-13
打赏
举报
回复
太谢谢大家了,解决问题了
myvicy
2006-11-13
打赏
举报
回复
一个建议:记录当前排序状态,你在增加时根据当前排序状态直接判断加入的位置。
其余升降序仍按上面各位兄弟的调试。
btbtd
2006-11-13
打赏
举报
回复
啰嗦一下, 我发现要兼容好点, 用 DOM 是一个好路子.
btbtd
2006-11-13
打赏
举报
回复
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!-- DW6 -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>shawl.qiu template</title>
<script type="text/javascript">
//<![CDATA[
function fDomSleOdr(obj, sort){
if(!obj)return false;
var o=obj.getElementsByTagName('option');
if(sort=='down'){
for(var i=0; i<o.length; i++){
for(var k=0; k<o.length; k++){
if(o[k].firstChild.data>o[i].firstChild.data){
obj.insertBefore(o[i], o[k]);
}
}
}
} else {
for(var i=0; i<o.length; i++){
for(var k=0; k<o.length; k++){
if(o[k].firstChild.data<o[i].firstChild.data){
obj.insertBefore(o[i], o[k]);
}
}
}
} // shawl.qiu script
}
//]]>
</script>
</head>
<body>
<select id="sle" multiple="multiple" size="8" >
<option>z</option>
<option>a</option>
<option>b</option>
<option>e</option>
<option>x</option>
<option>d</option>
<option>c</option>
<option>f</option>
</select><br />
<button onclick="fDomSleOdr(document.getElementById('sle'), 'down')">降序</button>
<button onclick="fDomSleOdr(document.getElementById('sle'), 'up')">升序</button>
</body>
</html>
JK_10000
2006-11-13
打赏
举报
回复
以下示例,仅通过ie5.5+测试:
左右移动进行选取,以及选中后上下移动
http://jkisjk.spaces.live.com/blog/cns!758CACE25E89DD3B!355.entry
szjq
2006-11-13
打赏
举报
回复
并且select框属性是multiple,这样就可以多选了,然后再对复制到右边精选框的option排序,有没有完整程序,谢谢
szjq
2006-11-13
打赏
举报
回复
我的页面上是两个select框,把左边显示的option项选中之后,双击可以复制到右边的select框里,然后右边的select框有两个按钮,用来做升降序排列
hbhbhbhbhb1021
2006-11-13
打赏
举报
回复
<select name="aa">
<option value="11">111</option>
<option value="33">333</option>
<option value="22">222</option>
</select>
<script language=javascript>
var obj=document.getElementById("aa")
var objs=obj.options
var a=new Array();
for(var i=0;i<objs.length;i++)
{
a[a.length]=new Array(objs[i].value,objs[i].text)
}
a.sort();
objs.length=0;
for(var i=0;i<a.length;i++)
{
objs[i]=new Option(a[i][0],a[i][1])
}
</script>
xxuu503
2006-11-13
打赏
举报
回复
Microsoft(R) JScript(R)
sort 方法 语言参考
版本 2
请参阅 应用于
--------------------------------------------------------------------------------
描述
返回一个元素已经进行了排序的 Array 对象。
语法
arrayobj.sort(sortfunction)
sortfunction 参数是用来确定元素顺序的函数的名称。如果这个参数被省略,那么元素将按照 ASCII 字符顺序进行升序排列。
说明
sort 方法将 Array 对象进行适当的排序;在执行过程中并不会创建新的 Array 对象。
如果为 sortfunction 参数提供了一个函数,那么该函数必须返回下列值之一:
负值,如果所传递的第一个参数比第二个参数小。
零,如果两个参数相等。
正值,如果第一个参数比第二个参数大。
下面这个例子说明了 sort 方法的用法:
function SortDemo()
{
var a, l;
a = new Array("X" ,"y" ,"d", "Z", "v","m","r");
l = a.sort();
return(l);
}
--------------------------------------------------------------------------------
用javascript
实现
的十大
排序
算法详解
用javascript
实现
的十大
排序
算法详解
原生
JS
实现
拖拽
排序
(亲测可用)
原生
JS
实现
拖拽
排序
(亲测可用)
JavaScript
实现
表格
排序
JavaScript
实现
表格
排序
,按数字、日期、汉字
排序
!
javascript
实现
排序
分类功能
javascript
实现
排序
分类功能, 冒泡
排序
, 快速
排序
等等
js
实现
中英文混合
排序
js
实现
中英文混合
排序
,支持所有浏览器,包括谷歌
JavaScript
87,910
社区成员
224,616
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章