4

別のテキストボックスの値を取得して、リアルタイムで別のテキストボックスに入力したい。TEXT_3 が変更されたかどうかを検出するにはどうすればよいですか? IF TEXT_3 VALUE CHANGED, IT MUST BE INPUTTED TO 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 を使用してテキスト ボックスの値が変更されたことを確認できないことです。このタスクを解決するための 1 つのオプションは、 と の両方に同じイベントを使用すること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はのIDですtextbox

 $(document).ready(function(){

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

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

    });
});
于 2016-03-24T06:37:04.067 に答える