使用按钮和输入的文本填充textarea
问题描述:
我正在研究在平板电脑上使用的概念,其中用户可以通过一系列快捷按钮将文本输入到textarea中。当然,快捷按钮并没有涵盖所有的可能性,所以我想保留在文本框中正常输入文本的功能。使用按钮和输入的文本填充textarea
我遇到的问题是,在用户将焦点应用到textarea并进行纯文本编辑后,该按钮不再有任何效果。
<script type="text/javascript">
$(document).ready(function() {
$("#keypad button").click(function() {
var txt = $(this).val();
$("#Textarea").append(txt);
});
});
<div id="keypad">
<div id="row4">
<button type="button" class="green45" name="Rt" value="Rt ">Rt</button>
<button type="button" class="green45" name="Lt" value="Lt ">Lt</button>
<button type="button" class="green45" name="Up" value="Up ">Up</button>
<button type="button" class="green45" name="Down" value="Down ">Down</button>
<button type="button" class="green45" name="Forward" value="Forward ">Forward</button>
<button type="button" class="green45" name="Back" value="Back ">Back</button>
</div>
我创造了这个小提琴说明问题http://jsfiddle.net/J228n/2/。首先使用按钮输入一些文本,然后正常输入一些文本,然后再次尝试使用按钮。
答
$("#keypad button").click(function() {
var txt = $(this).val();
$('#Textarea').val(function(i,val){
return val + txt;
});
});
您需要使用.val()
功能,并返回旧值+从按钮上的文本。
答
试试这个:
$("#keypad button").click(function() {
var txt = $(this).val();
var old =$("#Textarea").val();
$("#Textarea").val(old+txt);
});
答
这工作得很好:
$("#keypad button").click(function() {
var txt = $(this).val();
$("#Textarea").val($("#Textarea").val()+txt);
});
Simples!感谢所有的答案。 – Barbs 2013-04-09 03:30:40