2011-04-27 2 views
2

jQuery UI의 정렬 가능한 기능을 사용하여 정렬 가능한 목록을 만들었습니다. 이것은 요소 순서를 포함하는 문자열에 따라 처음에 <li>을 다시 정렬 할 수 있어야한다는 점을 제외하고는 정상적으로 작동합니다 하지만 JavaScript로 어떻게하는지 구문을 이해할 수는 없습니다.jQuery "정렬 가능"문제에 대한 li 요소 재정렬

내가 내 안의 항목을 재정렬위한 자바 스크립트 기능을 가지고 싶습니다

이 기지

<ul> 
    <li id="A" >Apple</li> 
    <li id="B" >Banana</li> 
    <li id="C" >Carrot</li> 
</ul> 

및 문자열 "C, A, B":

나는 다음과 같은 있다고 가정하자 문자열의 순서를 벗어나서 정렬합니다. 이와 끝내기 :

<ul> 
    <li id="C" >Carrot</li> 
    <li id="A" >Apple</li> 
    <li id="B" >Banana</li> 
</ul> 

자연스럽게 ","자신에 의해 다시 밖으로 문자열을 분할 및 요소 ID의 배열로 끝나는 것입니다,하지만 난이 두 주요 것들의 확신입니다.

1) 분리 된 문자열 배열에서 지정된 ID가 발견 된 요소를 가져 오는 가장 좋은 방법은 무엇입니까?

2) 해당 요소를 가져 와서 올바른 요소라고 판단한 후 올바른 순서로 배치하기위한 구문 또는 최적의 전략은 무엇입니까?

답변

5

이것은 (1)과 (2) 모두에 응답해야합니다.

, 구분 기호에있는 문자열을 분할하여 배열을 얻은 다음 li 요소의 순서를 변경하면됩니다.

var order = 'C,A,B'.split(','), 
    ul = $('ul'); 

$.each(order, function(index, sort) { 
    $('#' + sort).appendTo(ul); 
}); 

jsFiddle.

+0

완벽하고, 왜 내가 올바른 문제를 해결하는 데 많은 어려움을 겪고 있었는지 모르겠다! 빠른 응답에 감사드립니다! – BVSmallman

+0

@BVSmallman 걱정하지 마세요, 좋은 스택 오버플로 시민의 완벽한 예가되고 주셔서 감사합니다 :) – alex