Korzystanie this.value
jako odpowiedź powyżej zawiedzie, gdy użytkownik Ctrl + kliknięcie i wybrany kilka pozycji - zwraca wartość pierwszego wyboru na liście, nawet jeśli nie był ostatnim kliknięciem. Wypróbuj to:
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];
}
});
Musisz samodzielnie śledzić ostatnio wybrany przedmiot. –