2009-09-28 4 views
3

J'ai un problème avec une fonction jquery. Cela fonctionne dans FF mais pas dans IE 6. Je veux que la fonction soit déclenchée quand n'importe quelle option dans une liste déroulante choisie est cliquée. Voici le début de mon funcation: l'alerte est déclenchée mais dans IE il n'est pasJquery - Emettre avec un événement click sur Sélectionner dropdowin dans IE6

<select id="titleSelect"> 
<option></option> 
<option>1</option> 
<option>2</option> 
<option>3</option> 
</select> 

Ainsi, en FF,:

$('#titleSelect option').click(function() {  
    alert("title clicked"); 
    ...... 
}); 

Voici ma liste déroulante. Existe-t-il une sorte de problème avec IE reconnaissant l'événement click sur un select et si oui est-il possible de le contourner. Pourquoi vous n'utilisez pas l'événement onChange?

Répondre

4

Pourquoi? comme:

$('#titleSelect').change(function() {  
alert("title "+$(this).val()+" clicked"); 
...... 
}); 

la documentation de changement événement jQuery vous pouvez trouver ici:

http://docs.jquery.com/Events/change#fn

+0

Merci pour cela. Fonctionne parfaitement, je suppose que j'utilisais .click pour tout le reste et ne pensais même pas à chercher un autre événement qui pourrait fonctionner. Damn différences entre IE et FF! – Caroline

2

Si vous regardez cette page, allez au fond, la applique à section, et vous peut voir que l'élément d'option n'est pas dans la liste.

http://msdn.microsoft.com/en-us/library/ms536913%28VS.85%29.aspx

Si vous voulez vraiment un événement sur l'élément d'option puis regardez les événements sur cette page (cliquez sur les événements de mot dans la table): http://msdn.microsoft.com/en-us/library/ms535877%28VS.85%29.aspx#

Sinon, réagir à la onchange event sur l'élément select et vous saurez quand quelque chose est changé, mais cela signifie que s'ils cliquent sur l'événement déjà sélectionné, aucun événement ne se déclenchera.

+0

Merci James. Je pense que les deux réponses faisaient référence à l'utilisation du changement au lieu de l'événement click. Fixé maintenant, merci encore. – Caroline

Questions connexes