Cela ne semble pas fonctionner: (J'utilise Dojo, mais cela n'a pas vraiment d'importance.) P> P>
6 Réponses :
Vous pouvez jeter un coup d'œil à ces questions et à leurs réponses: ils pourraient aider: p>
Cela changera la valeur mais ne pas tirer l'événement OnChange. Chaque fois que vous modifiez un élément avec JavaScript, il ne tirera pas l'événement (vous empêche d'entrer dans les problèmes de récursivité *).
Si vous configurez un gestionnaire d'événements comme. P>
function myHandler(){ //do whatever stuff here changeColor( dojo.byId('mySel') ); }
essayer d'attribuer la sélection signexindex à la place. p>
Le nom 'Onchange' est un peu trompeur, sauf si vous comprenez qu'un changement l'événement em> et qu'une valeur étant changée n'est pas la même chose. Un événement de changement se produit lorsque l'utilisateur modifie la valeur dans le navigateur. Je crois que vous pouvez déclencher l'événement manuellement en appelant dojo.byid (mysel '). OnChange () Code> Après que vous changiez de manière programmatique de la valeur, cependant. (Vous devrez peut-être définir réellement une fonction qui appelle
alerte code>, cependant. Je ne l'ai pas fait moi-même.) P>
Vous pouvez accéder à l'événement 'OnproperTychange', il contient une propriété dans les arguments de l'événement pour identifier quelle propriété a été modifiée.
Il détecte les modifications apportées à la fois «sélectionnée» et «Valeur» - Simplement testez le test 'Nom » P>
<select id="mySel" onpropertychange="dothis(event);"> <option value="a">a</option> <option value="b">b</option> </select> function dothis(event) { if (event.propertyName == "selectedIndex") alert('selection changed'); }
Pour quiconque cherche à déclencher l'événement code> modifier code> à l'aide de JavaScript.
var evObj = document.createEvent("HTMLEvents"); evObj.initEvent("change", true, true); var elem = document.getElementById('some-id'); elem.dispatchEvent(evObj);
Dupliquer possible. Vu cela aujourd'hui.
J'ai fait une recherche, mais je n'ai rien trouvé.
Je cherche ça. Évidemment, il est libellé différemment ...
Je devrais affirmer que l'utilisation de dojo fait i> dans ce cas, car vous n'utilisez pas la manière javascript typique de modifier l'élément sélectionné dans une liste déroulante. Avez-vous essayé de changer mysel.Selectedindex?
Peut-être que celui-ci: Stackoverflow.com/Questtions/1219026/...
Ici, il est: Stackoverflow.com/Questtions/1219026/...
@ AJH1138. Je suis à peu près sûr que tout le dojo fait ici est un document d'aliasing.getelementyid. Je vais essayer la méthode sélectionnée. (Après avoir fini de lire à travers cette autre question.)
Oh :-( semble que je n'étais pas le plus rapide avec mes recherches ^^