好。所以我有这个代码
<input id="suspect" value="" type="text">
<input id="reason" value="" type="text">
<textarea></textarea>
var suspect = $('input#suspect').text();
var reason = $('input#reason').text();
$('textarea').val('' + suspect + ' and ' + reason + '')
然后我在这两个输入中放入了一些东西,然后textarea从输入中没有收到任何值。如何解决这个问题?
答案 0 :(得分:2)
因为当您设置变量时,您尝试恢复输入文本的元素中没有文本(顺便说一句,对于您正在寻找的输入.val()
)。如果您绑定到focus
事件:
$('textarea').focus(
function(){
var suspect = $('#suspect').val(),
reason = $('#reason').val();
$(this).val('' + suspect + ' and ' + reason + '');
});
此外,在这种情况下(因为你已经将之后的放置在DOM中的元素之后,虽然你已经省略了<script></script>
标签),但你可能没有使用$(document).ready()
事件处理程序,但我通常建议将jQuery包装在其中,只是为了确保事件被绑定到之后 它们是受约束存在于DOM中。
参考文献:
答案 1 :(得分:1)
.text()
- 获取元素内的文本.val()
- 获取元素的 值 由于文字存储在value
内,因此您应使用.val()
代替.text()
。
var suspect = $('input#suspect').val(),
reason = $('input#reason').val();
$("textarea").val(suspect+" and "+reason);
答案 2 :(得分:1)
如果您想立即更改,请尝试键盘事件
$(window).keyup(function() {
var suspect = $('input#suspect').val();
var reason = $('input#reason').val();
$('textarea').val('' + suspect + ' and ' + reason + '');
});
见这里:http://jsfiddle.net/TtAVS/
答案 3 :(得分:0)
应使用.val()
从输入框中获取值
答案 4 :(得分:0)
你可能想在这里使用val()
而不是text()
,并且还需要某种事件(如点击)导致数据从输入中提取并放入textarea。
也许值得注意的是,因为id是唯一的,
var suspect = $('#suspect').val();
var reason = $('#reason').val();
足以作为选择器并且(我发现)更容易阅读。