2012-08-19 171 views
1

我的問題與我在堆棧溢出中找到的其他問題非常相似,但不完全相同。如何在jQuery中動態地對列表項進行排序?

心中已經簡單列表如下:

<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> 

在名爲'id'變量,該值可能會以隨機順序,
對於例如:ID的第一值可以是3,則利具有list3 ID必須在列表視圖的第一位,然後id值可以爲2,那麼具有list2 id的li必須在列表視圖的第二位,然後id值可以爲1,那麼具有list1 id的li必須位於第三位列表顯示。

我搜索了很多,但他們都按字母順序或其他類似的東西排序,他們沒有解決我的問題。

Thanx !!

回答

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

+0

對不起,我不能投票的bcoz限制。非常非常感謝! – user1562023 2012-08-19 07:59:03

相關問題