JavaScript - COMPORTAMIENTO EXTRAÑO JAVASCRIPT

 
Vista:
sin imagen de perfil
Val: 12
Ha disminuido 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

COMPORTAMIENTO EXTRAÑO JAVASCRIPT

Publicado por Felipe De Jesus (4 intervenciones) el 26/02/2019 17:22:19
Hola buen dia, estoy casi con dolor de cabeza analizando el siguiente codigo que les dejare, hare una descripcion de que hace primeramente:
1. Recibo una id en la funcion asignandole el nombre de "id"
2.Hago una copia de el "id" a otra variable llamada "id_update"
3. Antes de procesar el codigo hago un alert de "id_update"
- Hasta aqui todo bien recibo el valor del id que se ingreso a la funcion
4. Al entrar a la segunda funcion "click" (siendo la segunda vez que se use esa funcion) el valor de la variable cambia magicamente a el que tenia la primera vez que ejecute esa funcion, algo extraño pues en la primera ocacion recibi el valor correcto

La preguinta es ¿Por que cambia?, Segun esto es imposible a mi logica, les dejo el codigo adelante:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function register_edit(id){
	var id_update=id;
	alert(id_update);
	$('#edit_date').val('');
	$('#edit_flet_num').val('');
    $("#updatebtn").attr("disabled", false);
    var form = $('#editform');
	$.ajax({
        url: 'sections/captura_camiones.php?job=retrieveinfo',
        data : {id : id},
        type: 'post',
        dataType: 'json',
        success:function(response) {
            if(response.success===true){
            	$('#edit_date').val(response.edit_date);
            	$('#edit_flet_num').val(response.edit_flet_num);
            }
        }
    })
	$('#updatebtn').click(function(e){
		alert(id_update);
		e.stopImmediatePropagation();
	})
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
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

COMPORTAMIENTO EXTRAÑO JAVASCRIPT

Publicado por Alejandro (532 intervenciones) el 27/02/2019 00:28:54
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Usa las etiquetas code el icono </>

Falta ver como ejecutas la función
Si al final del código tuvieras register_edit(7)
aparecería el alert de la segunda linea de la función con el valor 7 y posteriormente cada que presiones el elemento con id="updatebtn"
te daría el alert con valor 7
Si después ejecutas otro register_edit(3) mostraría el alert de la segunda linea con el valor de 3 y cada que presiones el elemento con id="updatebtn" te daría el alert con valor 7 porque ejecutaría el primer listener registrado, y aquí pienso que stopImmediatePropagation te anula el segundo listener registrado que seria el que te da el valor alert con el valor de 3, si comentas esa linea te devería de dar primero el alert 7 del primer listener y seguido el alert 3 del segundo listener.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 12
Ha disminuido 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

COMPORTAMIENTO EXTRAÑO JAVASCRIPT

Publicado por Felipe De Jesus (4 intervenciones) el 27/02/2019 00:51:07
Tienes razón al último encontré la solución destruyendo la función haciendo .unbind("click") a la función, así se destruye la función y se crea de nuevo en el siguiente click, eso me funcionó
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