距離と名前の両方で並べ替えたいです。
(id) ----name---- ----distance----
1 store 2
2 shop 3
3 market 1
4 bazaar 2
#view
<ul id="xanim">
<% @objects.each do |obj| %>
<li><h3><%= obj.distance %></h3><%= obj.distance %>
<% end %>
</ul>
tinysortの使用(http://tinysort.sjeiti.com)
#javascript
var $Ul = $('ul#xanim');
$Ul.css({position:'relative',height:$Ul.height(),display:'block'});
var iLnH;
var $Li = $('ul#xanim>li');
$Li.each(function(i,el){
var iY = $(el).position().top;
$.data(el,'h',iY);
if (i===1) iLnH = iY;
});
$Li.tsort('h3:eq(0)',{order:'asc'}).each(function(i,el){
var $El = $(el);
var iFr = $.data(el,'h');
var iTo = i*iLnH;
$El.css({position:'absolute',top:iFr}).animate({top:iTo},500);
});
私は、1つの列だけで分類することができます(たとえば、距離で注文するだけで、市場、店舗、バザール、ショップ)。ただし、両方の距離が等しい場合は、名前でも並べ替えます(たとえば、距離、次に名前:マーケット、バザール、ストア、ショップ)。
最初のコンポーネントが等しい場合、どのように2番目のコンポーネントでソートできますか?