首页新闻找找看学习计划

jq 点击添加去重复排序

0
悬赏园豆:50 [已解决问题] 解决于 2016-08-01 12:09

 

点击添加到右边后如何进行去重复排序啊?

点击添加代码:

 

结构代码:

需求是点击添加后按照日历的顺序来排序(日期小到大),点击添加的时候,如果右边日期有了就不再添加了,哪位会的请指教,代码贴上哦,谢谢!

carry~MF的主页 carry~MF | 初学一级 | 园豆:79
提问于:2016-07-22 17:23
< >
分享
最佳答案
0

第一种方法。

1. 参考链接对已选数据做个排序;

http://www.cnblogs.com/longze/archive/2012/11/27/2791230.html

2. 把原来的ul给empty了,直接根据排序重新添加li;

第二种方法。

参考  http://bbs.csdn.net/topics/391003524; http://qiaolevip.iteye.com/blog/1671023;

收获园豆:35
waiter | 小虾三级 |园豆:1000 | 2016-07-26 16:15

看了不会运用..我是菜鸟一个.....

carry~MF | 园豆:79 (初学一级) | 2016-07-29 16:34

虽然没有完全做出了,但有了思路,写出排序功能了,去重复还没写出

carry~MF | 园豆:79 (初学一级) | 2016-08-01 12:11
其他回答(2)
0
if ($(cop).length == 0) {
    $('.cop_sp ul:eq(0)').append(cop);
}

 直接拿你組好的cop來select判斷就可以了

收获园豆:10
RosonJ | 园豆:2337 (老鸟四级) | 2016-07-22 17:32

请详细点,小白看不懂耶

支持(0) 反对(0) carry~MF | 园豆:79 (初学一级) | 2016-07-22 17:37

@前端、小白: 他的代码是去重复 这是第一步 第二布 遍历你的结果 ul 进行排序 这个比较麻烦。

var ols = new Object(); var ts = new Array(); $(".cop_sp ul li").each(function (i, v) { var sp = $(v).find('.sp_n').html(); ts.push(sp); ols[sp] = $(v); }); ts.sort(); //数组的内部排序 $(".cop_sp ul").empty(); for (var k = 0; k < ts.length; k++) { ols[ts[k]].appendTo($(".cop_sp ul")); }

这个代码 大意 : 定义 要排序的 元素的 数组 ,获得当前未排序的li的数组 ,获得要排序的元素的数组。要排序的元素 排序。 清空ul  按拍好的顺序重新组装ul

支持(0) 反对(0) Постой! | 园豆:809 (小虾三级) | 2016-07-23 09:35

@前端、小白: 

$('.cop_sp ul:eq(0)').append(cop);

換成

if ($(cop).length == 0) { $('.cop_sp ul:eq(0)').append(cop); }

支持(0) 反对(0) RosonJ | 园豆:2337 (老鸟四级) | 2016-07-25 08:47

@RosonJ: 这个我有试过,但是不生效啊,也改过其他方法,还是不知道实现......请写下完整的代码,豆豆不会少给的哦..

支持(0) 反对(0) carry~MF | 园豆:79 (初学一级) | 2016-07-26 14:49

@Постой!: 你这个不能去重复啊

支持(0) 反对(0) carry~MF | 园豆:79 (初学一级) | 2016-07-29 16:41

@Постой!: 而且排序也有些问题

支持(0) 反对(0) carry~MF | 园豆:79 (初学一级) | 2016-07-30 08:53
0

思路,题主可以参考这个思路:

http://www.dreawer.com/question/70ab885cfa1b4c9d989c5f25acf6eea4#66851f3932a547fdaf9cc6c6afdf04c8

收获园豆:5
天下雪 | 园豆:213 (菜鸟二级) | 2016-07-28 10:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册