2010-06-05 19 views
13

¿Cómo obtener todas las identificaciones de elementos de entrada dentro de un formulario en una matriz?¿Cómo obtener id's de todas las entradas dentro del formulario?

+3

+1 Buena pregunta. A aquellos que votaron negativamente: ¿Recibieron la misma cálida bienvenida cuando eran recién llegados a SO? –

+2

¿por qué esta pregunta es downvoted? –

+0

Una posible razón para los votos a favor es que el título es demasiado largo y la pregunta es demasiado corta. Ese suele ser el caso cuando son iguales. – Guffa

Respuesta

11

Algo a lo largo de las líneas ...

<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

Gracias ....... mucho – James

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

+1 - 'map()' es el camino a seguir , aunque si hay elementos de 'entrada' que no tienen un ID (tal vez un Enviar), terminará con una entrada vacía en el conjunto. Es posible que desee cambiar el selector a: '$ ('# input input [id]')', o al menos proporcionar una prueba como: 'if (this.id) return this.id;' – user113716

+0

Buena sugerencia, patrick - agregado a la respuesta. – Amber

+0

Gracias ....... mucho – James

3

Puede afinar su búsqueda de un selector más precisa: formulario de entrada y un selector de atributos para los que tienen un id

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

Gracias ....... mucho – James

Cuestiones relacionadas