Liste déroulante SelectedIndex est de ne pas travailler avec getElementById en javascript
J'ai une liste Déroulante nommée comme des lots.
Si j'ai choisi la 2e option,liste déroulante.selectedIndex à l'intérieur de la OnChange fonction affiche toujours l'index sélectionné.
Mais le document.getElementById("lots").selectedIndex montre toujours le 1er indice.
Pourquoi est-ce?
En fait, je veux lire le selectedIndex de lots dans une autre fonction, c'est pourquoi j'ai besoin d'un moyen pour obtenir le bon index sélectionné dans les deux sens.
function OnChange(dropdown){
var myindex = dropdown.selectedIndex;//This prints correctly
alert("Index : "+document.getElementById("batches").selectedIndex);//This is always 0 no metter what selects
}
<select name='batches' id='batches' onchange='OnChange(this);'>
<option value = "1">1</option>
<option value = "2">2</option>
<option value = "3">3</option>
</select>
- Dans le navigateur? Firefox et IE donner le bon index de tous les temps.
- Salut À Tous! Je suis genenerating cette liste déroulante de la boîte de manière dynamique à l'aide de php. Dans ce cas, une autre zone de liste déroulante avec le même nom et l'ID a été ajoutée dans un autre domaine.C'est pourquoi, l'obtention de la valeur de celui-ci. Merci pour vos efforts et de conseils. Honte sur moi pour ne pas voir que l'erreur!
Vous devez vous connecter pour publier un commentaire.
Je ne sais pas quel navigateur vous tests, mais la suite montre toujours vrai dans tous les navigateurs que j'ai testé dans:
J'espère que vous n'êtes pas être confondu par les options ayant les valeurs 1, 2 et 3 de corrélation entre la selectedIndexes 0, 1 et 2.
Parce que vous appelez la fonction d'événement onChange je.e pas dans le passé. Essayez de déclencher la fonction sans événement onchange et la propriété est sélectionnée dans le passé
il va travailler. Il suffit de copier et de coller ce code dans votre éditeur de texte et de le tester