2011-11-16 15 views
7

JQuery'yi kullanarak çoklu kullanıcı seçiminde son kullanıcı seçimli seçeneği elde etmenin bir yolunu arıyorum.Son seçilen seçenek bir multiselect'ten nasıl alınır?

Listedeki son öğeyi aramıyorum, ancak kullanıcının tıkladığı son öğe için. o listedeki ilk seçimin değerini döndürür bile bile, - Kullanıcı Ctrl + tıkladım ve birden çok öğe seçili olduğunda cevap olarak this.value kullanarak bu

var lastSelected = null; 
$('.multiSelectOptions').click(function(){ 
    lastSelected = this.value; 
}); 
+4

Son seçilen öğeyi kendiniz takip etmeniz gerekir. –

cevap

5

şey yukarıda başarısız son tıklanmadı. Bunu deneyin:

var previouslySelected = []; 
$("#myMultiselect").change (function() { 
    // Get newly selected elements 
    var currentlySelected = $(this).val(); 
    var newSelections = currentlySelected.filter(function (element) { 
     return previouslySelected.indexOf(element) == -1; 
    }); 
    previouslySelected = currentlySelected; 

    if (newSelections.length) { 
     // If there are multiple new selections, we'll take the last in the list 
     var lastSelected = newSelections.reverse()[0]; 
    } 
}); 
+1

1. "Her" ye gerek yoktur ve bu $ değeri daha kolay olduğunda, $ (this) .val() 'ı kullanmayın. –

+0

@AndyE Giriş için teşekkürler, daha iyi? :] –

+1

evet, sizin için +1 :-) –

İlgili konular