2012-05-11 7 views
1

Après mon code où je crée un div avec une boîte Adrop vers le bas sur ma page et je veux un événement onClick sur les éléments de la sélection:JavaScript fonctionne sur FireFox mais pas sur Chrome ou IE

$("div.projectTeamTools").html('Organize by Project Teams: <select id="projectTeams"><c:forEach var="projectTeam" items="${userProjectTeams}"><option value="${projectTeam.projectId}" onClick="javascript:onTeamSelect(this.value)">${projectTeam.projectName}</option></c:forEach></select>'); 

function onTeamSelect(teamId){ 
     alert(teamId +" Selected"); 
} 

Le code fonctionne bien sur Firefox, mais pas sur IE ou Chrome. Quelqu'un peut-il aider s'il vous plaît!

+0

Vérifiez Chrome Console et voir l'erreur si apparaît –

Répondre

1

essayez ceci:

$("div.projectTeamTools").html('Organize by Project Teams: <select id="projectTeams"><c:forEach var="projectTeam" items="${userProjectTeams}"><option value="${projectTeam.projectId}" >${projectTeam.projectName}</option></c:forEach></select>'); 


    $("#projectTeams").change(function() { 
     onTeamSelect($(this).val()); 
    }); 

function onTeamSelect(teamId){ 
     alert(teamId +" Selected"); 
} 
+0

Merci! Ça a marché. Je ne sais pas pourquoi cela n'a pas fonctionné quand j'ai essayé d'écrire l'événement onChange dans le div lui-même. :) –

+0

jquery fournit une très bonne compatibilité pour nous ~ profiter ~~ –

0

L'élément d'option prend très mal en charge les événements tels que onclick.

Ceci est un issue connu dans les navigateurs WebKit.

Vous devez utiliser l'événement onchange sur l'élément <select> à la place.

Par exemple:

<select id="projectTeams" onchange="onTeamSelect(this.options[this.selectedIndex].value)"> 
+0

il n'a pas aidé. Maintenant, il ne fonctionne pas sur Firefox aussi! –

+0

J'ai mis à jour ma réponse. – antyrat

+0

onChange ne fonctionne pas dans tous les navigateurs. Le div '# projectTeamTools' est un div que j'ai créé dans la balise' script' de mon jsp, qui est censé appeler la fonction 'onTeamSelect'. –

0

Peut-être javascript est désactivé en chrome/IE Cela peut être utilisé pour activer le javascript en chrome Aller à Démarrer-> Exécuter et entrer suivant "C: \ Documents and Settings \% username% \ Paramètres locaux \ Application Data \ Google \ Chrome \ Application \ chrome" -enable-javascript

Questions connexes