2012-12-14 8 views
26

Wie kann ich ein Element von der sortierbaren Liste ausschließen? Zum Beispiel gibt es ein Element mit dem Klassennamen 'note', das ich nicht sein möchte ziehbare?Wie kann ein Element davon ausgeschlossen werden, in eine sortierbare Liste gezogen zu werden?

<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 sortierbar, jquery not offensichtlich nicht funktioniert ...

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

Antwort

35

Sie müssen abbrechen verwenden.

Siehe Arbeitsbeispiel here.

Js:

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

Wie @Zephyr weist darauf hin, diese können Sie neu ordnen, um die Position des durch die Geschwister ziehen, wenn Sie das vermeiden möchten, verwenden Sie owise1 approach:

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

danke für die Hilfe! – laukok

+0

@lauthiamkok nicht Problem, ich habe gerade meine Antwort auf Ihre spezifische Frage so überprüfen Sie es aus. :) – Trufa

+0

Ja, ich habe bemerkt, dass Sie die Antwort bearbeitet haben. Danke für die Bearbeitung! :-D – laukok

20

Sie sortierbar der "items" könnte Option:

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

example

oder ...

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

example

+0

Dies funktioniert auch mit '' Tags, die ein Dataset enthalten: '$ (" # table "). Sortable ({items:" [data-real-line] "});'. –

3

Sie ausdrücklich Artikel mit ausschließen:

$(".sortable").sortable({ 
    cancel: ".disable-sorting" 
}); 
Verwandte Themen