2013-07-04 2 views
0

여러 수준의 정렬 가능한 목록이 필요합니다. 그것은이 내가jQuery 여러 수준 항목에 대해 정렬 가능

<div class='sortable'> 
    <div class='item1'>aa</div> 
    <div class='item1'> 
     <div class='item2'>bb</div> 
     <div class='item2'>cc</div> 
     <div class='item2'>dd</div> 
    </div> 
    <div class='item1'>ee</div> 
</div> 

필요한 구조 및 스크립트 일

하지만 난 여러 수준을 시도 할 때 :(

작동하지 그것입니다 easly 설명으로 나는 this blog와 그것을 시도

$(".sortable").sortable(); 
$(".item1").sortable(); 

sortable()sortable class을 지정하고 item1 class의 하위를 할당하면 모두 item1item2 클래스는 draggable="true" 속성을 할당 할 것이므로 item1 아래에서 자식을 드래그 할 수 없습니다. item2 요소는

감사

에게 동시에 정렬 수준 모두를 만들기위한 좋은 솔루션이 있습니까 부모 item1

내부에 드래그해야

+0

는 "난 단지 부모 항목 1 내부 드래그해야 항목 1 .item2 요소에서 차일을 끌어 캔트"무엇을 의미합니까 끌어위한 핸들러의 장소에서 모든 이미지 또는 드래그 아이콘을 넣을 수 있습니다? '.item1' 안에서'.items2'를 드래그하는 것을 제한하고 싶습니까? –

답변

0

당신은 그런 걸 시도 할 수 있습니다 :

<div class='sortable'> 
    <div class='item1'>aa</div> 
    <div class='item3'> 
     <div class='item2'>bb</div> 
     <div class='item2'>cc</div> 
     <div class='item2'>dd</div> 
    </div> 
    <div class='item1'>ee</div> 
</div> 

$(".item3").sortable({ 
    connectWith: ".sortable" 
}); 
$(".sortable").sortable({ 
    connectWith: ".item3" 
}).disableSelection(); 
+0

감사합니다 radek,하지만 item1 또한 개별적으로 정렬 할 수 있으며 하위 항목은 레벨을 변경할 수 없습니다. 하위 항목 정렬 및 해당 상위 요소 내 제한 – raki

+0

맞습니다. 수준을 변경할 수 있었지만 원하는만큼 (부모 항목 만 하위 항목에 들어갈 수있었습니다) 지금 수정되었습니다. 최고가 아닙니다. 코드는 있지만 힌트로 사용할 수 있습니다. 그것을 여기에서보십시오 : http://jsfiddle.net/JKqrX/ – radek

0

이것이 필요한 동작입니까?

http://jsfiddle.net/JKqrX/1/

아이디어는 만드는 것입니다 자식 요소를 가지고 있으며 모든 핸들이있는 별도의 정렬 '항목 1' '항목 1'둘 다 수준을 comfartably 정렬 할 수 있도록. 당신은

//HTML 
<div class='sortable'> 
    <div class='item1'><span class="handle">handle </span>aa</div> 
    <div class='item1 has-child'> 
     <span class="handle">handle </span> 
     <div class='item2'>bb</div> 
     <div class='item2'>cc</div> 
     <div class='item2'>dd</div> 
    </div> 
    <div class='item1'><span class="handle">handle </span>ee</div> 
</div> 

//JS 
$(".has-child").sortable({ 
    items: ".item2" 
}); 
$(".sortable").sortable({ 
    handle: ".handle" 
});