Existe-t-il un SelectedIndex pour une liste de données HTML5?
Vous pouvez choisir le courant option
de toute select
élément:
mySelect.options[mySelect.selectedIndex]
Puis-je faire de même avec un DataList? Quelque chose comme ceci:
<input id = "input" list = "datalist" type = "text" />
<datalist id = "datalist">
<option value = "No. 1"></option>
<option value = "No. 2"></option>
<option value = "No. 3"></option>
</datalist>
<script>
var datalist = document.getElementById ("datalist");
var input = document.getElementById ("input");
input.addEventListener ("keyup", function (event) {
if (event.which === 13) {
alert (datalist.options[datalist.selectedIndex]); //Example
}
}, false);
</script>
source d'informationauteur Caio
Vous devez vous connecter pour publier un commentaire.
Non, le datalist élément est de fournir la saisie semi-automatique des entrées. C'est une source de données, est caché à l'utilisateur, et plusieurs entrées de lien. Par conséquent, il n'est pas logique d'avoir un
selectedIndex
.Au lieu de cela, vous devez simplement vérifier la
.value
de l'entrée:À en juger par specs
datalist
objet n'a passelectedIndex
de la propriété. Mais vous pouvez trouver que c'est l'option par défaut, qui ontselected
. Ou de comparer l'entrée de la valeur pour chaque valeur de l'option manuellement et de trouver l'index.Vous pouvez juste ajouter une valeur à l'élément d'entrée. Ce sera affichée à l'utilisateur que la valeur "par défaut". Si l'utilisateur décide de le changer, c'est à dire de supprimer cette valeur du champ de saisie, puis la liste dans le datalist apparaîtra:
Permet de dire que vous avez attributs de données dans l'exemple ci-dessus comme ceci,
et si vous voulez obtenir les données de l'entreprise de l'attribut de l'élément sélectionné,
à l'aide de la boucle ci-dessus