2009-05-26 38 views
2

我有一個INPUT文本框。將INPUT附加到TEXTAREA作爲在JQuery中輸入

當有人輸入INPUT文本框時,我需要它添加/添加到TEXTAREA值。


讓我們說用戶類型'12345'到文本框中。

textarea(默認值=「Comment:」)會自動添加:'Comment:12345'。鍵入時添加「12345」。

回答

1

假設area是你的textarea和text您的文本框的ID的ID,

$(function() { 

    var areaText = $('#area').val(); 

    $('#text').bind('keyup keypress', function() { 
     $('#area')[0].value = areaText + $(this)[0].value; 
    }); 

}); 
+0

工程很好 - 謝謝你的例子。 – Ricky 2009-05-26 23:12:01

0
$('#your_input').bind('keypress', function(event) { 
    var char_code = event.which ? event.which : window.event.keyCode; 
    var char = String.fromCharCode(char_code); 
    $('#your_textarea').value += char; 
}); 
+0

退格別是很重要的;噸按預期方式工作,但它很接近 – 2009-05-26 22:36:39

+0

這給了我:未捕獲的SyntaxError:意外的輸入結束 – Ricky 2009-05-26 22:48:54

+0

呃,對不起。留下一些終止代碼。現在應該會更好。對於退後一步,你必須要有點奇特。 – chaos 2009-05-26 23:00:36

1

Russ Cam缺少邊緣案例 - 您可以通過拖放文本到輸入字段中突出顯示和拖動,他的代碼沒有考慮到。

下面代碼覆蓋該情況下:

$(function() { 

    var areaText = $('#area').val(); 

    $('#text').bind('keyup keypress drop', dropfunction() { 
     $('#area')[0].value = areaText + $(this)[0].value; 
    }); 

}); 

儘管如此,仍存在另一邊緣的情況下,其被刪除,並且經由上下文菜單操縱。截至目前我看不到的方式來檢測上下文菜單交互的選擇......你可以禁用它如果使用下面的代碼

$('#text').bind('contextmenu', function() { 
    return false 
});