1

私の質問は、Stack Overflow で見つけた他の多くの質問と非常に似ていますが、まったく同じではありません。

以下のように簡単なリストを作成します。

<div id="preview" style="border: 1px solid #000;">

    <ul>
        <li style="list-style: none; display: none;" id="list1" class="ui-state-default">
            <input type="radio" name="answer" id="answer1" value="a" />
            <label for="answer1" id="displayAnswer1"></label>
        </li>

        <li style="list-style: none; display: none;" id="list2" class="ui-state-default">
            <input type="radio" name="answer" id="answer2" value="b" />
            <label for="answer2" id="displayAnswer2"></label>
        </li>

         <li style="list-style: none; display: none;" id="list3" class="ui-state-default">
            <input type="radio" name="answer" id="answer3" value="c" />
            <label for="answer3" id="displayAnswer3"></label>
        </li>
    </ul>
</div>

変数 named'id'では、値はランダムな順序で来る場合があります。
たとえば、id の最初の値が 3 の場合、id を持つ lilist3がリスト ビューの最初の位置に来る必要があり、次に id 値が 2 の場合、list2id を持つ li が入る必要があります。リストビューの2番目の位置、最後にid値が1の場合、list1idを持つliはリストビューの3番目の位置に来る必要があります。

私はたくさん検索しましたが、それらはすべてアルファベット順またはその値のようなものでソートされており、私の問題を解決していません。

ありがとう!!

4

1 に答える 1

3
​var ids = [3, 1, 2];

var items = $("#preview li").remove();
$.each(ids, function(index, id) {
    $(items).filter("li[id='list" + ids[index] + "']")
        .appendTo($("#preview ul"));
});

jsFiddleを参照してください。

</p>

于 2012-08-19T07:27:50.470 に答える