jQuery & lt; tag>按不同选项排序
jQuery <tag> sorting by different options
例如:
<a href='#' id='by_id'>Sort by id</a>
<a href='#' id='by_author'>Sort by author</a>
<a href='#' id='by_title'>Sort by title</a>
<div id="my_list">
<div data-id='1' data-author='Pushkin'>Fairy Tale</div>
<div data-id='3' data-author='Tolstoy'>Anna Karenina</div>
<div data-id='2' data-author='Doyl'>Fairy Tale</div>
<div data-id='5' data-author='Tarantino'>Kill Bill</div>
<div data-id='9' data-author='Pushkin'>Fairy Tale</div>
</div>
现在我想通过点击我的酷链接按标题,id或作者对我的div进行排序。
是否有一个插件为这项工作或很容易实现没有任何外部库?
轻巧,简单。试试这个:)
$('#sortables').delegate('a', 'click', function() {
var by = $(this).attr('id').match(/^by_(.*)/i);
if (by)
{
mySort.sort(by[1]);
}
});
var mySort = {
sortables: {
'title': {
method: 'text',
type: 'alpha'
},
'author': {
method: 'attr',
val: 'data-author',
type: 'alpha'
},
'id': {
method: 'attr',
val: 'data-id',
type: 'numeric'
}
},
sort: function(sortBy)
{
if (!mySort.sortables[sortBy]) return;
var sortedElements = [];
var sortVal;
var sort = mySort.sortables[sortBy];
$('#my_list > div').each(function() {
sortVal = $(this)[sort.method](sort.val || null);
sortedElements.push([this, sortVal]);
});
// ">" sorts in ascending order, "<" will sort in descending order.
sortedElements.sort(function(a, b) {
var result;
return (sort.type == 'numeric') ?
a[1] - b[1] :
a[1] > b[1];
});
// Create a new div to replace the old one with
var $newDiv = $('<div id="my_list">');
$(sortedElements).each(function() {
$newDiv.append(this[0]);
});
$('#my_list').replaceWith($newDiv);
}
};
Working fiddle here: http://jsfiddle.net/fHTmQ/3
我认为你可以使用datagrid插件,
http://www.trirand.com/blog/?page_id=5相关文章:
- Selectize.js:如何对整数值的选项进行排序
- 使用选项组对下拉列表进行排序
- Jslint 无法识别错误排序函数的选项
- 如何按字母顺序对select2(jQuery插件)选项进行排序
- Magento网站-按选项排序:上下箭头与排序数据绑定,只需删除上下箭头即可
- jQueryUI可拖动+可排序错误(无法读取未定义的属性'选项')
- 如何在两个不同的选项卡(jQuery数据表)上同步处理可排序表
- 使用多个页面的选择选项标签对 mysql 中的数据进行排序
- 更新“项目”选项以进行排序
- 如何按<选项>值对
- 进行排序
- 可排序的 Js 在带有选择/选项标签的 chrome 中不起作用,但与 ul/li 标签一起工作
- 在JS选择列表中按字母顺序对选项进行排序
- 使用表排序器筛选所选选项列表中的选定项目
- Javascript/JQuery 对选项中的选择元素和标签属性进行排序
- 在函数排序列表中添加:选项排序列表中的初始顺序
- JavaScript:在多选择中对选项排序时忽略大小写
- jQuery插件选项排序/嵌套的最佳实践是什么?
- 如何按词法顺序对选择选项排序
- AngularJS填充Java Map中的ng选项.(排序问题)
- jQuery & lt; tag>按不同选项排序