12
votes

Comment vérifier si une valeur existe dans la zone Sélectionner

y a-t-il une méthode autre que fonctionnant A pour la boucle pour vérifier si une valeur existe dans Select Box à l'aide de JavaScript ?

Je cherche quelque chose comme document.getelementByID ('SELBOX'). Les valorauxxistes ("myval");


0 commentaires

5 Réponses :


2
votes

Vous pouvez le faire avec jQuery

Utiliser le Attribut Equals Selector

voir dans

Vérifiez si la valeur est dans la liste Sélectionner une liste avec jQuery

dans JavaScript, vous pouvez exécuter comme xxx


2 commentaires

Je ne fais pas non plus de joindre avec une sorte de jointure et d'option.Prototype. Couru dans plus de problèmes que prévu :)


Je viens de relire la question et, bien que cela soit bien sûr possible avec pure JavaScript, j'utiliserais définitivement une approche jQuery car elle va devenir désordonnée autrement!



10
votes

Vous ne pouvez pas étendre les méthodes, le Sélectionnez CODE> -Element a. Donc, il n'y aura pas de solution sans une fonction supplémentaire pour vérifier l'existence d'une valeur dans un Sélectionnez code>.

une "solution" sans boucle pourrait être la suivante ... P >

function SelectHasValue(select, value) {
    obj = document.getElementById(select);

    if (obj !== null) {
        return (obj.innerHTML.indexOf('value="' + value + '"') > -1);
    } else {
        return false;
    }
}


2 commentaires

Une autre option, également plus lente qu'une boucle, mais plus rapide que INTERHTML, modifie la valeur de la sélection, ce qui ne vous intéressait que si vous ne vous souciez pas de ceci: fonction SelecthasValue (Sélectionnez-la, valeur) {var obj = document.getelementByID (sélectionnez); obj.value = valeur; retour (obj.value == valeur); }


C'est si barbare je l'aime.



3
votes

Cela a fonctionné pour moi lorsque la page Chargez les valeurs de Publier des paramètres. Si la valeur n'est pas présente sur Sélectionner, alerter l'utilisateur; sinon, continuez (ou alerte): xxx


0 commentaires

2
votes

if(!$('#select-box').find("option:contains('" + thevalue  + "')").length){
//do stuff
}


1 commentaires

Le questionneur a demandé une solution JavaScript, bien que JQuery soit une bibliothèque JavaScript, il semble sans danger de supposer qu'ils recherchent une solution de Vanilla JS ici.



8
votes

avec ECMA6:

let option = document.getElementById('selbox').querySelector('[value="' + my_value + '"]');


0 commentaires