0

を使用して、チェックされたアイテムをリストの一番上に移動するソリューションを実装しました

チェックした項目をリストの一番上に保持する

これで、リスト内のすべての項目のチェックを外すためのアンカーができました。アンカー タグをクリックすると、項目のチェックが解除されます。しかし、アイテムはソートされていません。HTMLリストのように、デフォルトで最初に表示されるリストにする必要があります。

var list = $("ul"),
    origOrder = list.children();

list.on("click", ":checkbox", function () {
    var i, checked = document.createDocumentFragment(),
        unchecked = document.createDocumentFragment();
    for (i = 0; i < origOrder.length; i++) {
        if (origOrder[i].getElementsByTagName("input")[0].checked) {
            checked.appendChild(origOrder[i]);
        } else {
            unchecked.appendChild(origOrder[i]);
        }
    }
    list.append(checked).append(unchecked);
});

シナリオのデモは、 http://jsfiddle.net/RPN3x/にあります。

4

1 に答える 1