tags:

views:

70

answers:

3

How to get all id's of input elements inside a form in an array?

+4  A: 
$ids = $('#myform input[id]').map(function() {
  return this.id;
}).get();
Amber
+1 - `map()` is the way to go, although if there are `input` elements that don't have an ID (perhaps a Submit), you'll end up with an empty entry in the array. You may want to change the selector to: `$('#test input[id]')`, or at least provide a test like: `if(this.id) return this.id;`
patrick dw
Good suggestion, patrick - added to the answer.
Amber
Thank you.......very much
Vipin
A: 

Something along the lines...

<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>
Leniel Macaferi
Thank you.......very much
Vipin
A: 

You can narrow your search with a more precise selector : form input and an attribute selector for the ones having an id

$(document).ready(function() {
    $('form input[id]').each(function() {
        formId.push(J(this).attr('id'));
});
});
Felipe Alsacreations
Thank you.......very much
Vipin