我试图用不同的方式对一些DIV进行排序,我很遗憾。 我一直在尝试一些东西,但我不知道如何让它工作。 我有以下格式的div数据。 我有一个下拉列表,其中包括按价格,距离和创建日期等排序选项。在从下拉列表中选择一个optin时,divs数据应该相应地进行排序和显示。 例如,我选择按价格排序,然后数据应按排序顺序显示,价格从低到高开始。
我需要你的指导。
120 2012-05-09 20:39:38.0 20 mile 123 2012-05-10 20:39:38.0 30 mile 100 2012-05-11 20:39:38.0 50 mile 124 2012-05-12 20:39:38.0 60 mile
按价格排序的示例:
$('#content div.price').map(function () { // map sort-value and relevant dom-element for easier handling return {val: parseFloat($(this).text(), 10), el: this.parentNode}; }).sort(function (a, b) { // a simple asc-sort return a.val - b.val; }).map(function () { // reduce the list to the actual dom-element return this.el; }).appendTo('#content'); // < inject into parent node
演示: http : //jsfiddle.net/QmVsD/1/
几点说明:
你在那里实际上是一个TABLE,所以使用一个表和一个现有的表分类器。
当你有表格数据时,没有什么可以使用
,这就是你所拥有的。
生成的HTML是演示文稿的一部分,而排序操作是数据模型的一部分。 您应该在代码中分离这两个概念。
在您的情况下,将数据存储在数组(数据模型)中。 当您只想向用户显示数据时,请将其放在div或table html中。 在布局html之前进行排序。 当用户从下拉列表中选择排序选项时,清空#contentContainer
,对数据数组进行排序,重新生成新排序数据的html并将其插入#contentContainer
。
我刚测试了这个,它对我来说很好。 您将决定之后对arrays执行的操作。 ?
$(document).ready(function () { var priceItems = $('.price'); var arr = new Array(); for (var i = 0; i < priceItems.length;i++) { var tempInt = priceItems[i].innerHTML; tempInt = parseInt(tempInt); arr.push(tempInt); } arr.sort() });
你现在需要的只是使用你的arrays。
以上就是jQuery教程分享使用jquery或javascript对div数据进行排序相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/jquerytutorial/541237.html