43 votes

jQuery - vérifie si une entrée n'est pas un champ de sélection

Comment puis-je savoir si un champ de saisie est autre chose qu'un select ?

J'ai essayé avec if($(el).not("select")) et j'obtiens aussi les sélections...

97voto

Darin Dimitrov Points 528142
if(!$(el).is("select")) {
    // the input field is not a select
}

3voto

gor Points 6313

$(el).not("select") vous donne un tableau. Array est toujours vrai dans les expressions booléennes. Mais après avoir appliqué non, ce tableau d'éléments ne contiendra pas de sélections. Voir exemple de travail.

2voto

SLaks Points 391154

La .not() renvoie un nouvel objet jQuery avec tout de l'objet d'origine qui ne correspond pas au sélecteur. Vous ne pouvez pas simplement l'utiliser dans une if comme celle-ci.

À la place, vous utilisez la .is , qui vérifie si l'élément correspond à un sélecteur et renvoie un booléen.

 if (!$(el).is('select'))

2voto

Neurofluxation Points 6354

Que diriez-vous de donner une classe aux balises <select>

 $(el + ":not('.select')")

1voto

Diodeus Points 67946
if($(el).selectedIndex)

S'il a une propriété SelectedIndex, c'est un <SELECT>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X