How to get the values of a row of the selected radio button, jquery?

0

In this way I generate the list dynamically:

var listaAfiliados = $('#listado-afiliados');
                    $.each(response.data, function (i) {
                        $('<tr class="list-afiliados"/>')
                            .append($('<td/>').addClass('nuevo-td')
                                .append($('<label/>').addClass('label-radio item-content')
                                    .append('<div class="nombre_afiliado" style="display:none">' + response.data[i].Nombre + '</div>')
                                    .append('<input type="radio" name="afiliado" class="afiliado" value="' + response.data[i].Cod_Trib + '"/>')
                                    .append($('<span/>').addClass('item-media').append('<i class="icon icon-form-radio"></i>'))))
                            .append($('<td/>').addClass('label-cell nuevo-td').text(response.data[i].Nombre))
                            .append($('<td/>').addClass('label-cell nuevo-td').text(response.data[i].Credito_Oripago))
                            .appendTo(listaAfiliados);
                    });

and in this function I want to obtain the values according to their class.

$$("#btn-6").click(function (e) {
        var nombre_afiliado;
        var afiliado = $('input:radio[name=afiliado]:checked').val(); //Solo he logrado obtener el valor del radio button.
            $('input:radio[name=afiliado]:checked').each(function(){
                nombre_afiliado = $(this).closest('.nombre_afiliado').text();
            });
            console.log(nombre_afiliado);//No imprime nada
        e.preventDefault();
    });

Thank you very much.

    
asked by JG_GJ 27.09.2018 в 06:17
source

1 answer

1

Modify your code a bit and you can guide, I only referred to a higher instance in this case your father or grandfather (tr) and already in that instance I can find my children and grandchildren, it is say all the tds and inputs , I hope it works for you:

$("#btn-6").click(function(e) {

  var nombre, apellido, valor;
  $('.afiliado:checked').each(function(indice, elemento){
  
    var fila = $(this).parents(".list-afiliados");
    nombre = fila.find(".nombre").val();
    apellido = fila.find(".apellido").val();
    valor = $(this).val();
    console.log("Nombre: "+nombre+" Apellido: "+apellido+" Valor: "+valor);      
  });
                 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<table border="1">
  <tr class="list-afiliados">
    <td>
      <input class="nombre" value="David">
    </td>
    <td>
      <input class="apellido" value="Molina">
    </td>
    <td>
      <input type="radio" name="afiliado" class="afiliado" value="1"/>
    </td>
  </tr>
  <tr class="list-afiliados">
    <td>
      <input class="nombre" value="Leonardo">
    </td>
    <td>
      <input class="apellido" value="Ruíz">
    </td>
    <td>
      <input type="radio" name="afiliado" class="afiliado" value="1"/>
    </td>
  </tr>
  <tr>
    <td colspan="3" align="center">
      <button id="btn-6">Obtenr valores</button>
    </td>
  </tr>
</table>
    
answered by 27.09.2018 / 14:59
source