2012-10-12 1 views
0

Lorsque j'utilise $("input[type=text]"), je veux dire absolument toutes les zones de texte, mais il ne renvoie que les entrées que le type a été défini pour eux.jQuery: Obtenir toutes les entrées de texte où aucun type n'est défini

Par exemple, dans:

<input name="text1" /> 
<input name="text2' type="text"/> 

text1 ne sont pas inclus.

comment obtenir toutes les entrées de texte quel que soit le type défini ou non?

+4

bien techniquement une entrée est seulement une entrée de texte si vous dites type = "texte" – Huangism

+0

Je vois, mais quand nous ne définissons aucun type il sera affiché comme "texte" par défaut – Omid

+0

oui et il semble valider , vous pouvez utiliser la réponse à propos du nom tant que votre attribut de nom a le "texte" ou vous pouvez toujours le faire au long chemin dire toutes les entrées sauf radio, soumettre, checkbox et tout le reste – Huangism

Répondre

5

Sélectionne celles avec type = text, et celles sans attribut type.

$("input[type=text],input:not([type])") 
+2

+1 Voici un [Fiddle] (http://jsfiddle.net/gromer/a7nsX/) le montrant en action. – Gromer

0

Si tous les noms de vos entrées contiennent du 'texte' (sinon comment comprendrez-vous qu'il s'agit d'une zone de texte?), Vous pouvez essayer.

$('input[name*="text"]'); 
3
$('input:text') 

From the official documentation:

À partir de jQuery 1.5.2,: texte sélectionne des éléments d'entrée qui ont no attribut de type spécifié (auquel cas type = "text" est implicite).

+1

': le sélecteur de texte est obsolète. – undefined

0

Si vous ne définissez pas le type, alors [type = "text"] exclura ceux sans type. Si vous sélectionnez $ ('input'), vous obtiendrez toutes les entrées quel que soit leur type, ce qui peut être un champ de texte ou non. mais il s'appliquerait toujours à chaque champ d'entrée.

Si vous ne définissez pas le type, il ne sera pas affiché comme type = text, mais il sera rendu comme tel. Cela signifie que vous ne pouvez pas sélectionner uniquement [type = « text »], mais vous pouvez toujours empêcher d'autres cependant comme suit:

$('input[type=text]','input:not([type])') 

Je ne sais pas si cela aide du tout.

Questions connexes