4

我想获取另一个文本框的值并将其实时输入到另一个文本框中。如何检测 TEXT_3 是否已更改?如果 TEXT_3 值更改,则必须将其输入到 TEXT_4 为方便起见,这里是代码和演示:

**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());
    })

演示:http: //jsfiddle.net/8eXRx/7/

感谢您的回复!

4

5 回答 5

6

在你的 textbox3.val() 之后添加 change(),如下所示:

$("#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/

于 2012-05-22T08:38:39.337 回答
4

问题是您无法绑定特殊事件来检查文本框值是否已使用 JavaScript 而不是手动更改。要解决该任务,一种选择是对 和 使用相同的keyup事件。JQuery 会将新的处理程序添加到现有的处理程序中:text_1text_2

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

演示:http: //jsfiddle.net/8eXRx/11/

于 2012-05-22T08:36:26.717 回答
2

change事件在输入字段失去焦点后触发。如果你想实时更新它,你还需要这个keyup事件,所以像这样:

$("#text_3").keyup(function(){
    $("#text_4").val($("#text_3").val());
})
于 2012-05-22T08:35:59.513 回答
1

尝试:

$("#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
});
于 2012-05-22T08:49:27.287 回答
0

试试这个.. n1 和 n2 是textbox

 $(document).ready(function(){

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

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

    });
});
于 2016-03-24T06:37:04.067 回答