104 votes

Sélecteur Jquery input[type=texte]')

J'ai écrit un code qui, en gros, sélectionne tous input type=text élément comme ceci:

$('.sys input[type=text]').each(function () {}

Comment puis-je le modifier pour sélectionner input[type=text] ou select?

186voto

SiGanteng Points 23915

À l'aide d'un normal sélecteur css:

$('.sys input[type=text], .sys select').each(function() {...})

Si vous n'aimez pas la répétition:

$('.sys').find('input[type=text],select').each(function() {...})

Ou de façon plus concise, passer dans l' context argument:

$('input[type=text],select', '.sys').each(function() {...})

Remarque: en Interne, jQuery vous permet de convertir le au-dessus d' find() équivalent

http://api.jquery.com/jQuery/

En interne, le sélecteur de contexte est mis en œuvre avec l' .méthode find (), donc $('span', this) est équivalent à $(this).find('span').

Personnellement, je trouve la première alternative à être le plus lisible :), votre prendre si

7voto

Wouter J Points 16327
$('.sys').children('input[type=text], select').each(function () { ... });

EDIT: en Fait ce code ci-dessus est équivalente pour les enfants sélecteur .sys > input[type=text] si vous voulez le descendant sélectionnez (.sys input[type=text]) vous devez utiliser les options fournies par @NiftyDude.

Plus d'informations:

5voto

Jason Cidras Points 21

Si vous avez plusieurs entrées sous forme de texte dans un formulaire ou un tableau que vous devez parcourir, j'ai fait ça:

var $list = $("#tableOrForm :input[type='text']");

$list.each(function(){
    // Go on with your code.
});

Ce que j'ai fait j'ai vérifié chaque entrée pour voir si le type est réglé sur "texte", puis il va saisir de cet élément et de le stocker dans le jQuery liste. Ensuite, il itérer à travers cette liste. Vous pouvez définir une variable temporaire pour l'itération en cours comme ceci:

var $currentItem = $(this);

Ceci permettra de définir l'élément courant à l'itération courante de votre pour chaque boucle. Ensuite, vous pouvez faire ce que vous voulez avec la variable temp.

Espérons que cela aide quelqu'un!

3voto

thecodeparadox Points 41614
$('input[type=text],select', '.sys');

pour la lecture en boucle:

$('input[type=text],select', '.sys').each(function() {
   // code
});

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