JavaScript - Carga de datos a un modal

 
Vista:
sin imagen de perfil
Val: 8
Ha disminuido su posición en 5 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Carga de datos a un modal

Publicado por dyego (4 intervenciones) el 14/10/2019 19:44:24
Hola gente, tengo el siguiente problema, intento cargar un dato dentro de un modal, el ciclo y la validacion en teoria estan bien, por que en consola si me los indica como debe ser (mirar imagen) pero el problema es que a la hora de mostrar el dato falla, el dato si es un string por eso esta entre '' el 1 ya probe con parseInt pero tampoco.
PSDT: soy nuevo publicando es este foro, lo siento si no cumplo las normas, espero que me ayuden y gracias de antemano

FUNCION JS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$(document).on('keyup', '#valor_transaccionsinPunto', function(){
    $(".mecanismo").each(function(){
        var mecanismoValor=$(this).html();
        var valorBase =$('.valorBase').val();
        var valor_transaccionsinPunto =$('.valor_transaccionsinPunto').val();
        console.log(valorBase);
        if(mecanismoValor == '1') {
            console.log('si' + '  '+valorBase);
            $(".baseFinal").val(valorBase);
        }else{
            console.log('no' + '  '+valor_transaccionsinPunto);
            $(".baseFinal").val(valor_transaccionsinPunto);
        }
    });
});
MODAL HTML
1
2
3
4
5
<tr class="retenciones">
        <td class="">{{$item->tipoRetencion}}</td>
         <td class="mecanismo" id="mecani">{{$item->mecanismo}}</td>
         <td><input  style="width: 143px; " class="base baseFinal"  type="text" name="base" id="base"/></td>
</tr>

Captura
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro
Val: 1.448
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Carga de datos a un modal

Publicado por Alejandro (532 intervenciones) el 14/10/2019 23:42:26
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
El problema es que $(".baseFinal").val(cualquierValor); se aplica a todos los elementos con class="baseFinal"
En tu caso primero 323, después 24 y finalmente 323 de nuevo.

supongo que $(".mecanismo") es la fila
1
2
$(this).find(".baseFinal").val(valorBase);
$(this).find(".baseFinal").val(valor_transaccionsinPunto);
respectivamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 8
Ha disminuido su posición en 5 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Carga de datos a un modal

Publicado por dyego (4 intervenciones) el 15/10/2019 00:12:34
Hola Alejandro, perdona la ignorancia pero no entiendo cual es en si la falla, porque si en $(this).find(".baseFinal").val(valorBase); le paso el id solo me va a tomar el primero, la verdad no entiendo lo que me dices
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro
Val: 1.448
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Carga de datos a un modal

Publicado por Alejandro (532 intervenciones) el 15/10/2019 00:22:24
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
No estas especificando ningún id.

En la consola puedes ejecutar $(".baseFinal").val('prueba'); y veras que a todos los <input class="baseFinal" /> se asignara la palabra prueba. Ese es tu error.

$(this) hace referencia al elemento en curso del $(".mecanismo").each() así que suponiendo que es el <tr class="mecanismo">
.find(".baseFinal") aplicara a todos los baseFinal de la fila en curso.

Así logras que solo se edite el input deseado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 8
Ha disminuido su posición en 5 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Carga de datos a un modal

Publicado por dyego (4 intervenciones) el 15/10/2019 00:54:11
pues si eso esta bien, solo que deberia tomar el if donde compare si es 1 ponga tal dato y si no ponga otro dato, y hay es donde me quedo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 8
Ha disminuido su posición en 5 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Carga de datos a un modal

Publicado por dyego (4 intervenciones) el 15/10/2019 15:29:12
La clase mecanismos el pertenece a el td cómo se ve en la imagen
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro
Val: 1.448
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Carga de datos a un modal

Publicado por Alejandro (532 intervenciones) el 15/10/2019 15:48:47
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
pues desde ahí estamos mal, yo asumía que era el <tr> no me fije en el código HTML :P

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$(document).on('keyup', '#valor_transaccionsinPunto', function(){
    $(".mecanismo").each(function(){
        var mecanismoValor=$(this).text();
	var thisRow = $(this).closest('tr');
        var valorBase = thisRow.find('.valorBase').val();
        var valor_transaccionsinPunto = thisRow.find('.valor_transaccionsinPunto').val();
        console.log(valorBase);
        if(mecanismoValor == '1') {
            console.log('si' + '  '+valorBase);
			thisRow.find(".baseFinal").val(valorBase);
        }else{
            console.log('no' + '  '+valor_transaccionsinPunto);
            thisRow.find(".baseFinal").val(valor_transaccionsinPunto);
        }
    });
});

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$(document).on('keyup', '#valor_transaccionsinPunto', function(){
    $(".retenciones").each(function(){
        var mecanismoValor=$(this).find('mecanismo').text();
        var valorBase = $(this).find('.valorBase').val();
        var valor_transaccionsinPunto = $(this).find('.valor_transaccionsinPunto').val();
        console.log(valorBase);
        if(mecanismoValor == '1') {
            console.log('si' + '  '+valorBase);
			$(this).find(".baseFinal").val(valorBase);
        }else{
            console.log('no' + '  '+valor_transaccionsinPunto);
            $(this).find(".baseFinal").val(valor_transaccionsinPunto);
        }
    });
});
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar