2013-03-12 19 views
24

Sadece bir liste öğesi için jquery ui sortable devre dışı bırakılabilir mi? Ben öğeyi tıklayın Örneğinjquery ui tek bir öğe için devre dışı bırakma

<ul class="sortable"> 
    <li>Item 1</li> 
    <li>Item 2</li> 
    <li>Item 3</li> 
    <li>Item 4</li> 
    <li>Item 5</li> 
</ul> 

ben sıralanabilir devre dışı bırakacaktır: İşte kod örneğidir. Lütfen Yardım.

$(document).ready(function(){ 
    $('.sortable li').click(function(){ 
     // Disable sortable for this item............. 
    }); 
}); 
+1

[Neyi denediniz?] (Http://whathaveyoutried.com) Javascript'inizi ekleyebilir misiniz? –

+2

http://api.jqueryui.com/sortable/#option-cancel <- Bulmak için 5 saniye sürdü. – Mahn

+0

[jquery-ui sıralanabilir, olası öğenin taşınmasını önleme] olası kopyası (http://stackoverflow.com/questions/2006401/jquery-ui-sortable-prevent-item-from-being-moved) – Tibo

cevap

41

Tabii, böyle bir şey deneyin:

$(".sortable").sortable({ 
     items: "li:not(.unsortable)" 
    }); 
$(".sortable").disableSelection(); 

items option sen ve sıralanabilir edemeyeceğini öğeleri belirtebilirsiniz kullanarak

İşte javascript kodudur.

jsFiddle example

+0

Liste Öğesi –

+0

'u tıklattığımda devre dışı bırakmam mümkün değil. – j08691

+0

örneğin $ ('. Sortable li').tıklayın (işlev() {/ * bu öğeyi devre dışı bırakın * /}); –

20

Açıkça (onları dahil etmeyerek kenara) öğeleri hariç tutabilirsiniz:

$(".sortable").sortable({ 
    cancel: ".disable-sort-item" 
}); 
+2

uygulaması en kolay. –

+0

Bu kolay, ancak engelli öğe liste grubunda yukarı veya aşağı hareket ettirilebilir. j08691'in cevabı tüm senaryolarda çalışır. –

4

Biliyorum, bu soru eskidir. ama doğru cevabı bilmene izin verdim. Öğeyi dinamik olarak devre dışı bırakma ve tıklama yoluyla etkinleştirme. Çünkü aynı sorunu 2016'da aldım: D

her şeyden önce. Yapmanız gereken her şey, başlangıçta neyin devre dışı bırakılacağını sorgular için ayarlamaktır. listeden engelli öğeleri kaldırmak neyi parametreyi ekleyin (ilk init ihtiyaç):

var sortable = $("#sortable-sections"); 
sortable.sortable({ 
    items: 'li:not(.ui-state-disabled)', 
    helper: 'clone', 
}); 
sortable.disableSelection(); 

Sonra sadece olay dinleyicisi eklemek

(örnekte kullanılan Bootstrap), I, onClick kullanılan böylece örnek burada:

Sortable-item yalnızca sortableItem adlı veriye sahip olduğunda sıralanabilir olacaktır, böylece dinamik olarak devre dışı bırakılacak, birilerine yardım edeceğini umarız.

Şerefe!

İlgili konular