2009-10-15 6 views
1

Je voudrais savoir quel élément dans la liste de sélection était au dernier clicjQuery - sélectionnez l'élément que vous cliquez sur

je baisse de sélection comme ceci

<select id="selectId" multiple="multiple" onchange=""> 
<option value=1>Value 1</option> 
<option value=2>Value 2</option> 
<option value=3>Value 3</option> 
<option value=4>Value 4</option> 
</select> 

Je voudrais savoir, quel élément de sélection a été cliqué en dernier et s'il est maintenant sélectionné ou non. Quel sélecteur jQuery (http://docs.jquery.com/Selectors) doit être utilisé dans ce cas?

Répondre

0

Essayez d'utiliser l'événement, cliquez sur l'élément <option>, cela peut vous dire est la dernière option a été sélectionnée ou non (vous pouvez définir ce à une variable):

var lastOption; 

$('option').click(function(){ 
    lastOption = $(this); 
    var lastIsSelected = lastOption.is(':selected'); 
    var lastText = lastOption.text(); 
    // ... 
}); 

Voir le code de travail ici: http://jsbin.com/ijowo

+0

C'est quelque chose que je viens de faire et cela fonctionne bien pour moi. – AnzeR

+0

Malheureusement, IE ne supporte pas les options de clic. –

4

Vous pouvez utiliser

$('#selectId option:selected'); 

pour obtenir l'option sélectionnée

Voir

:selected

Fil un événement onclick pour sélectionner et mémoriser l'élément cliqué. Lorsqu'un nouveau clic se produit, comparez l'élément précédent avec le nouvel élément sélectionné.

0

j'aurais un regard sur le plug-in selectBoxes pour Jquery (http://www.texotela.co.uk/code/jquery/select/)

Il est très bon pour ce genre de chose.

Exemple

jQuery('#selectId').selectedOptions().each(function() { 
    alert(this.text()); 
}); 

qui vous donnerait une alerte avec le texte de chaque option sélectionnée. Comme indiqué ci-dessus, vous pouvez surveiller les options sélectionnées à l'aide de l'événement de modification.

Questions connexes