2010-06-05 8 views
13

Comment obtenir tous les ID des éléments d'entrée à l'intérieur d'un formulaire dans un tableau?Comment faire pour obtenir des ID de toutes les entrées dans le formulaire?

+3

+1 Bonne question. À ceux qui ont refusé: Avez-vous reçu le même accueil chaleureux lorsque vous étiez un nouveau venu à SO? –

+2

pourquoi cette question est-elle faussée? –

+0

Une raison possible pour les sous-titres est que le titre est trop long et la question est trop courte. C'est généralement le cas quand ils sont identiques. – Guffa

Répondre

11

Quelque chose le long des lignes ...

<script src="../../Scripts/jquery-1.4.2.min.js"></script> 

<script type="text/javascript"> 

    $(document).ready(function() 
    { 
     // Get all the inputs into an array... 
     var $inputs = $('#myForm :input'); 

     // An array of just the ids... 
     var ids = {}; 

     $inputs.each(function (index) 
     { 
      // For debugging purposes... 
      alert(index + ': ' + $(this).attr('id')); 

      ids[$(this).attr('name')] = $(this).attr('id'); 
     }); 
    }); 


</script> 
+1

Merci beaucoup ....... beaucoup – James

14
$ids = $('#myform input[id]').map(function() { 
    return this.id; 
}).get(); 
+5

+1 - 'map()' est le chemin à parcourir , bien que s'il y a des éléments 'input' qui n'ont pas d'ID (peut-être un Submit), vous vous retrouverez avec une entrée vide dans le tableau. Vous pouvez changer le sélecteur à: '$ ('# test entrée [id]')', ou au moins fournir un test comme: 'if (this.id) retourner this.id;' – user113716

+0

Bonne suggestion, patrick - ajouté à la réponse. – Amber

+0

Merci ....... beaucoup – James

3

Vous pouvez affiner votre recherche avec un sélecteur plus précis: forme entrée et un sélecteur d'attribut pour ceux ayant un identifiant

$(document).ready(function() { 
    $('form input[id]').each(function() { 
     formId.push(J(this).attr('id')); 
}); 
}); 
+0

Merci ....... beaucoup – James

Questions connexes