7
votes

Vérifiez si l'option sélectionnée de Dropdown n'est pas la première avec JavaScript

ci-dessous sont les options que j'ai dans mon code HTML: xxx

Je souhaite créer un code JavaScript qui vérifiera si l'utilisateur a sélectionné une option autre que la première.

Voici ce que j'ai essayé: xxx


0 commentaires

3 Réponses :


12
votes

Vous pouvez vérifier comme ceci si rien code> sera d'abord (généralement le cas dans mon expérience):

<select name="subs" id="subs"></select><label id="subn" for="subs"></label>


1 commentaires

Vous avez écrit document.getelementsbytagname ('SUBS') où vous voulez dire document.getelementByID ('SUBS')



1
votes

Cela devrait le faire:

var index = document.your_form_name.subs.selectedIndex;
var value = document.your_form_name.subs.options[index].value;

if (value === "nothing"){
   // your further code here.........
}


0 commentaires

0
votes

document.getelementsByTagname ('option') code> donne une collection de tous les éléments code> d'éléments code> dans le document et "rien" code> est une chaîne. La comparaison d'une collection à une chaîne est assez inutile.

Définition également document.getelementByID ("subn"). Innerhtml = "sujet est requis!"; Code> supprimera le code > Élément, donc document.getelementByID ("SUBS") code> ne trouverait plus rien. p>

Si vous avez juste besoin de savoir si quelque chose est sélectionné, cochez le code sélectionné Code> Propriété du Sélectionnez CODE> ELEMENT: P>

if (document.getElementById("subs").selectedIndex <= 0) {
  // nothing is selected
}


3 commentaires

Votre si () est en arrière, s'il est > 0 rien n'est pas sélectionné, il veut la vérification inverse.


Eh bien, dans le texte, il a écrit "si l'utilisateur sélectionne un sujet autre que le premier", mais dans son exemple, il a essayé de vérifier si le premier a été sélectionné, il y a donc un peu de contradiction.


Il ajoute un message S'ils n'ont rien choisi , c'est en arrière. Ceci est très clair de son code, je ne suis pas sûr de l'endroit où la confusion est ...