Copie otro valor de cuadro de texto en tiempo real Jquery

Quiero obtener el valor de otro cuadro de texto e ingresarlo en tiempo real en el otro cuadro de texto. ¿CÓMO PUEDO DETECTAR SI TEXT_3 FUE CAMBIADO? SI EL VALOR DE TEXT_3 CAMBIÓ, DEBE INTRODUCIRSE EN TEXT_4 Para su comodidad, aquí está el código y la demostración:

**HTML**
    <label>TEXT 1: </label><input type="text" id="text_1" value=""/>
    <label>TEXT 2: </label><input type="text" id="text_2" value=""/>
    <label>TEXT 3: </label><input type="text" id="text_3" value=""/>
    <label>TEXT 4: </label><input type="text" id="text_4" value=""/>

**JAVASCRIPT**
    /* INPUT TEXT_1 AND TEXT_2 VALUE TO TEXT_3 ON TEXT_1 KEYUP*/
    $("#text_1").keyup(function() {
        $("#text_3").val($("#text_1").val() + " " + $("#text_2").val());
    })

    /* INPUT TEXT_1 AND TEXT_2 VALUE TO TEXT_3 ON TEXT_1 AND TEXT_2 KEYUP*/    
    $("#text_2").keyup(function(){
        $("#text_3").val($("#text_1").val() + " " + $("#text_2").val());
    })

    /* HOW CAN I  DETECT IF TEXT_3 WAS CHANGED? IF TEXT_3 VALUE CHANGED, IT MUST BE INPUTTED TO TEXT_4*/

    /* not working solution */   
    $("#text_3").change(function(){
        $("#text_4").val($("#text_3").val());
    })

DEMO: http://jsfiddle.net/8eXRx/7/

¡Gracias por las respuestas!

preguntado el 22 de mayo de 12 a las 09:05

5 Respuestas

Agregue change() después de su textbox3.val(), como a continuación:

$("#text_1").keyup(function() {
    $("#text_3").val($("#text_1").val() + " " + $("#text_2").val()).change();
})

/* INPUT TEXT_1 AND TEXT_2 VALUE TO TEXT_3 ON TEXT_1 AND TEXT_2 KEYUP*/    
$("#text_2").keyup(function(){
    $("#text_3").val($("#text_1").val() + " " + $("#text_2").val()).change();
})

http://jsfiddle.net/8eXRx/12/

contestado el 22 de mayo de 12 a las 09:05

El problema es que no puede vincular un evento especial para verificar que el valor del cuadro de texto se cambió usando JavaScript y no manualmente. Para resolver la tarea, una opción es usar el mismo keyup evento para ambos text_1 y text_2. JQuery agregará el nuevo controlador a los controladores existentes:

$("#text_1, #text_2").keyup(function(){
    $("#text_4").val($("#text_3").val());
})

DEMO: http://jsfiddle.net/8eXRx/11/

contestado el 22 de mayo de 12 a las 09:05

el change el evento se dispara después de que el campo de entrada haya perdido su foco. Si quieres actualizarlo en tiempo real también necesitas el keyup evento, entonces algo como esto:

$("#text_3").keyup(function(){
    $("#text_4").val($("#text_3").val());
})

contestado el 22 de mayo de 12 a las 09:05

Tratar:

$("#text_3").keyup(function(){
   cur_val = $(this).val(); //grab #text_3's current value
   $(this).val(cur_val); // this is optional, but keep for sake
   $("#text_4").val(cur_val); //set #text_4's value as what #text_3 is having
});

contestado el 22 de mayo de 12 a las 09:05

Prueba esto... n1 y n2 son identificadores de textbox

 $(document).ready(function(){

    $(':input').keyup(function(){

      $("#n2").val($("#n1").val()).change(); 

    });
});

respondido 24 mar '16, 07:03

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.