使用jQuery如何根据预设顺序(在变量中列出)重新排序子列表元素?

时间:2013-02-20 00:31:24

标签: jquery-ui jquery-ui-sortable

我有ulli元素。每个li元素都有data-choice个属性。我还有一个数组,它保存那些li元素的正确顺序(这些data-choice属性的索引数组。

示例:

["5123ee904210a6ad0d00001c", "5123ee904210a6ad0d00001b", "5123ee904210a6ad0d00001a", "5123ee904210a6ad0d000019"]

如何根据该数组求助列表?

我想出了这个,但只是想我会分享解决方案

1 个答案:

答案 0 :(得分:1)

        var order = ["5123ee904210a6ad0d00001c", "5123ee904210a6ad0d00001b", "5123ee904210a6ad0d00001a", "5123ee904210a6ad0d000019"]
        $elems = this.$('.sorting-question li').remove();

        $elems.sort(function(a, b){
            var a_i = order.indexOf($(a).data('choice'));
            var b_i = order.indexOf($(b).data('choice'));
            return a_i > b_i;
        });

        this.$('.sorting-question').append($elems);