2010-06-05 10 views
13

Jak uzyskać wszystkie identyfikatory elementów wejściowych w formularzu w tablicy?Jak uzyskać identyfikatory wszystkich danych wejściowych w formularzu?

+3

+1 Dobre pytanie. Tym, którzy odrzucili: Czy otrzymałeś takie samo ciepłe powitanie, gdy byłeś nowym kandydatem do SO? –

+2

dlaczego to pytanie jest odrzucane? –

+0

Jedną z możliwych przyczyn spadku wartości jest to, że tytuł jest zbyt długi, a pytanie jest za krótkie. Zwykle tak jest, gdy są takie same. – Guffa

Odpowiedz

11

Coś wzdłuż linii ...

<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

Dziękuję ....... bardzo mocno – James

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

+1 - 'map()' jest sposobem na , chociaż jeśli istnieją elementy "input", które nie mają identyfikatora (może być to Submit), otrzymasz pusty wpis w tablicy. Możesz zmienić selektor na: '$ ('# test input [id]')' lub przynajmniej wykonaj test typu: 'if (this.id) return this.id;' – user113716

+0

Dobra sugestia, patrick - dodano do odpowiedzi. – Amber

+0

Dziękuję ....... bardzo – James

3

Można zawęzić wyszukiwanie z bardziej precyzyjnego selektora: wejście forma i selektor atrybutu na te posiadające identyfikator

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

Dziękuję ....... bardzo – James

Powiązane problemy