2012-12-21 1 views
0

요소 인덱스 :정렬 가능한 GET 내가이 html 코드를 가지고

$("#pages").sortable({ 

    sort: function(event,ui){ 
     console.log($('#pages').index(ui.item)); 
    } 
}); 

반환 된 인덱스는 인덱스 곳은 다음과 같습니다

<div id="pages"> 
    <div id="page1"></div> 
    <div id="page2"></div> 
    <div id="page3"></div> 
    <div id="page4"></div> 
</div> 

그냥 테스트를 위해 내가 그리드 정렬에 요소 인덱스를 보여 드리고자을 드래그 된 요소가 드래그 시작 중이었습니다. 코드를 중지/업데이트 이벤트로 옮기면 올바른 인덱스가 수신됩니다. 내 문제는 시각적 통지 (다른 div 사이의 전환)를 드래그하면 인덱스가 반환하는 다른 요소이며 요소의 CSS 여백을 변경해야한다는 것입니다.

요소를 끌 때 올바른 순서를 얻는 방법은 무엇입니까?

TIA frgtv10

답변

3

ui.placeholder 항목을 사용하기 위해 필요한 드래그 된 항목의 현재 인덱스에 액세스하려면. 당신의 도움에 대한

$("#pages").sortable({ 
    helper: "clone", 
    sort: function(event, ui) { 
     console.log($(ui.placeholder).index()); 
    } 
}); 

jsFiddle here (jQuery 1.8.2, jQueryUI 1.9.2)

+0

감사합니다. 전체 목록이 필요한 경우 요소 (각 요소)를 살펴보고 자리 표시 자 인덱스를 목록에 추가해야합니다. 아니면 더 좋은 방법이 있습니까? – frgtv10

+0

전체 목록이 필요하다면, 네.'.each '로 파싱해야합니다. 'div'선택기로 구문 분석하면 자리 표시 자 항목 중 하나가됩니다. – Mordhak