2012-12-14 2 views
26

정렬 가능한 목록에서 요소를 제외하려면 어떻게해야합니까? 예를 들어, 클래스 이름이 'note'인 요소가 있는데 이 아닌이 될 수 있습니다. dra30able?정렬 가능한 목록에서 요소를 끌지 않도록 요소를 제외하는 방법은 무엇입니까?

<ul class="sortable"> 

      <li id="item_3">Item 3</li> 
      <li id="item_4">Item 4</li> 
      <li id="item_5">Item 5</li> 

      <p class="note">This is a note only</p> 
    </ul> 

정렬 JQuery와 UI, JQuery와 not 분명히 작동하지 않습니다 ...

$(function() { 
    $(".sortable:not(.note)").sortable(
    }).disableSelection(); 
}); 

답변

35

당신은 취소 사용해야합니다.

작업 예 here을 참조하십시오.

JS : @Zephyr가 지적 하듯이 당신이를 방지하려면

$(function() { 
    $('.sortable').sortable(); 
    $('.sortable').disableSelection(); 
    $('.sortable').sortable({ cancel: '.note' }); 
});​ 

이하자 당신을 다시 배열 형제를 드래그하여 위치를 사용 owise1 approach :

$('.sortable').sortable({ 
    items : ':not(.note)' 
}); 
+0

이 도움을 주셔서 감사합니다! – laukok

+0

@lauthiamkok 문제는 아니며, 귀하의 특정 질문에 대한 나의 답변을 적용 해 보았습니다. :) – Trufa

+0

예 대답을 편집 한 것으로 나타났습니다. 편집 해 주셔서 감사합니다! :-D – laukok

20

당신에게

$(".sortable").sortable({ 
    items : 'li' 
}); 

: 정렬의 "items"옵션을 사용할 수 있습니다 명시 적으로 항목을 제외 할 수 있습니다

$(".sortable").sortable({ 
    items : ':not(.note)' 
}); 

example

+0

이것은 데이터 셋을 포함하는''태그와 함께 작동합니다 :'$ ("# table"). sortable ({items : "[data-real-line]"});'. –

3

93,

또는 ...이 :

$(".sortable").sortable({ 
    cancel: ".disable-sorting" 
}); 
관련 문제