金曜日の午後のひと時を過ごしているのですが、これらのアイテムを思い通りに並べ替えるのに本当に苦労しています!
2 つのドロップダウン リストから選択してフィルタリングするリストがあります。1 つは属性用で、もう 1 つは値用です。次に、2 つのドロップダウン リストに基づいてリストを並べ替えます。
したがって、たとえば、ユーザーは値が 30 の attr4 を選択する可能性があります。次に、リストを昇順で並べ替え、一致するアイテムを最初に並べ替え、次に一致しないアイテムを並べ替えます。つまり、このリストは以下のとおりです。
<ul>
<li data-attr1="10" data-attr2="20" data-attr3="30" data-attr4="40" data-attr5="50">Option 1</li>
<li data-attr1="20" data-attr2="30" data-attr3="40" data-attr4="50" data-attr5="10">Option 2</li>
<li data-attr1="30" data-attr2="40" data-attr3="50" data-attr4="10" data-attr5="20">Option 3</li>
<li data-attr1="40" data-attr2="50" data-attr3="10" data-attr4="20" data-attr5="30">Option 4</li>
<li data-attr1="50" data-attr2="10" data-attr3="20" data-attr4="30" data-attr5="40">Option 5</li>
</ul>
次に、次のようになります。
<ul>
<li data-attr1="50" data-attr2="10" data-attr3="20" data-attr4="30" data-attr5="40">Option 5</li>
<li data-attr1="10" data-attr2="20" data-attr3="30" data-attr4="40" data-attr5="50">Option 1</li>
<li data-attr1="20" data-attr2="30" data-attr3="40" data-attr4="50" data-attr5="10">Option 2</li>
<li data-attr1="40" data-attr2="50" data-attr3="10" data-attr4="20" data-attr5="30">Option 4</li>
<li data-attr1="30" data-attr2="40" data-attr3="50" data-attr4="10" data-attr5="20">Option 3</li>
</ul>
以下を使用して、リスト全体を簡単にソートできます。
$('ul li').tsort({ data: attribute, order: 'asc'});
しかし、一致しないアイテムの前に一致するアイテムを取得するのに問題があります。私は使用してみました:
$('ul li').tsort({ data: test, order: 'asc', place: 'start' });
無駄に。誰かが私が間違っていることを見つけることができますか? どんな助けでも大歓迎です - 素晴らしい金曜日を!ありがとう!
ダレン