Lectura múltiple de jQuery.val() en una matriz

Tengo algo de código que se parece a este que funciona muy bien:

var info = [];
for (i = 0; i < 10; i++)
{
     info[i] = $('#info_' + i).val();
}

El problema es que este patrón es muy común en mi aplicación con algunas variaciones menores.
Lo que me gustaría hacer es convertir esto en un oneliner algo como este, donde la información se convierte en una matriz:

var info = $('[id^="info_"]').each().val();
InformationsquelleAutor Andreas | 2011-06-23

3 Kommentare

  1. 24

    Encontrado una solución gracias a Dogbert. Todo lo que faltaba en su ejemplo fue la .get()

    Aquí está la solución terminé usando:

    var info = $('[id^="info_"]').map(function () { return $(this).val(); }).get();
  2. 22

    Puede utilizar jQuery.mapa

    var info = $('[id^="info_"]').map(function() { return $(this).val(); } )
    • Sólo añadir uno .get() y su hogar. Ver mi respuesta completa para más información.
    • En realidad, esto debería ser su respuesta. De todos modos… ;)
  3. 2
    $('[id^="info_"]').each(function(){ info.push($(this).val()); });

    debe hacer

    • No tiene que tener una declaración y una instrucción de asignación cuando se hace así?

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea