我正在尝试将两个按钮合并为一个名为jsort的jquery插件。单击以升序排序,再次单击以降序排序。我无法弄清楚如何应用其他解决方案,因为我是一个新手。
提前谢谢! 伊恩
这是代码(现在有两个不同的按钮):
//Sort Ascending by year
$("#asc_btn_year").click(function () {
$("#demo").jSort({
sort_by: 'p.txt span',
item: 'div',
order: 'asc'
});
});
//Sort Descending by year
$("#desc_btn_year").click(function () {
$("#demo").jSort({
sort_by: 'p.txt span',
item: 'div',
order: 'desc'
});
});
答案 0 :(得分:1)
使用变量来跟踪顺序,并每次都将其翻转。
var order = 'asc';
$("#btn_year").click(function () {
order = (order == 'asc') ? 'desc' : 'asc'; // Toggle order
$("#demo").jSort({
sort_by: 'p.txt span',
item: 'div',
order: order
});
});
如果你有这样的多个按钮,你可以使用$(this).data('order')
而不是全局变量。
$("#btn_year").click(function () {
order = $(this).data('order') == 'asc' ? 'desc' : 'asc';
$(this).data('order', order);
$("#demo").jSort({
sort_by: 'p.txt span',
item: 'div',
order: order
});
}).data('order', 'asc');
答案 1 :(得分:0)
在范围内只有boolean
,如果是true
,请执行一项,false
,执行另一项操作,并确保每次都更改boolean
值时间。
例如,
var myBoolean = true;
$("#btn_year").click(function () {
if(myBoolean){
myBoolean = false;
$("#demo").jSort({
sort_by: 'p.txt span',
item: 'div',
order: 'asc'
});
}else {
myBoolean = true;
$("#demo").jSort({
sort_by: 'p.txt span',
item: 'div',
order: 'desc'
});
}
});