从输入文本框中获取值

时间:2012-04-22 05:25:14

标签: javascript jquery input textarea

好。所以我有这个代码

<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从输入中没有收到任何值。如何解决这个问题?

5 个答案:

答案 0 :(得分:2)

因为当您设置变量时,您尝试恢复输入文本的元素中没有文本(顺便说一句,对于您正在寻找的输入.val())。如果您绑定到focus事件:

$('textarea').focus(
    function(){
        var suspect = $('#suspect').val(),
            reason = $('#reason').val();
        $(this).val('' + suspect + ' and ' + reason + '');
    });

JS Fiddle demo

此外,在这种情况下(因为你已经将之后的放置在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();

足以作为选择器并且(我发现)更容易阅读。