Sacar valores de tabla con jquery

Iniciado por andreslrz, 29 Mayo 2015, 16:15 PM

0 Miembros y 1 Visitante están viendo este tema.

andreslrz

Hola.

Tengo una tabla a la cual le agrego las filas al llenar un formulario, despues de esto necesito sacar los valores de la tabla para enviarlos a la aplicacion, pero no me deja sacar los valores.

Este es el codigo:
Código (javascript) [Seleccionar]

    $('#agregar-presentacion').click(function() {
    //Aqui saco los valores del formulario y lo agrego a la tabla
        $('#lista-presentaciones').append('<tr><td><input type="checkbox" name="presentacion" value="'+$('#presentacion').val()+'"></td>'+
                                              '<td>'+$('#presentacion').val()+'</td>'+
                                              '<td>'+$('#valor').val()+'</td>'+
                                              '<td>'+$('#peso').val()+'</td>'+
                                              '<td>'+$('#alto').val()+'</td>'+
                                              '<td>'+$('#ancho').val()+'</td>'+
                                              '<td>'+$('#largo').val()+'</td></tr>');
    });
     
     
    $('#gproducto').click(function() {
        var presentaciones;
        var i = 0;
    //Validar Producto es una funcion que retorna true o false, eso funciona bien
    //En validar producto se valida que la tabla tenga filas, el problema comienza en el each.
        if(!validarProducto()) {
            $('#lista-presentaciones tr').each(function() {
                presentaciones[i]=$(this).find('td').eq(1).html();
                alert(presentaciones[i]);
            });
        }
    });


tambien cambie el each por un for sacando el numero de filas de la tabla y no me retorna el valor del 'td' que estoy pidiendo. De la siguiente forma:
Código (javascript) [Seleccionar]

$('#agregar-presentacion').click(function() {
    $('#lista-presentaciones').append('<tr><td><input type="checkbox" name="presentacion" value="'+$('#presentacion').val()+'"></td>'+
                                          '<td>'+$('#presentacion').val()+'</td>'+
                                          '<td>'+$('#valor').val()+'</td>'+
                                          '<td>'+$('#peso').val()+'</td>'+
                                          '<td>'+$('#alto').val()+'</td>'+
                                          '<td>'+$('#ancho').val()+'</td>'+
                                          '<td>'+$('#largo').val()+'</td></tr>');
});


$('#gproducto').click(function() {
    var presentaciones;
   
    if(!validarProducto()) {
        for(i = 0; i < $('#lista-presentaciones tr').length; i++); {
            alert($('#lista-presentaciones').find('tr').eq(i).find('td').eq(2).html());
        }
       
    }
});


agradezco cualquier ayuda con esto.

#!drvy

Código (javascript) [Seleccionar]
$('#gproducto').on('click', function(){

    /* Por cada columna */
    $('#lista-presentaciones tr').each(function(){

        /* Obtener todas las celdas */
        var celdas = $(this).find('td');

        /* Mostrar el valor de cada celda */
        celdas.each(function(){ alert($(this).html()); });

        /* Mostrar el valor de la celda 2 */
        alert( $(celdas[1]).html() );

    });
});


De todos modos esa forma esa forma de obtener los valores es un poco bruta. Yo te recomendaría almacenar en un array o un objeto y sacarlos de ahí.

Saludos