【问题标题】:Get a value from an input textbox从输入文本框中获取值
【发布时间】:2012-04-22 05:25:13
【问题描述】:

好的。所以我有这个代码

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

【问题讨论】:

    标签: javascript jquery input textarea


    【解决方案1】:

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

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

    JS Fiddle demo.

    此外,在这种情况下(因为您已将 JavaScript 置于 DOM 中的元素之后,尽管您省略了 &lt;script&gt;&lt;/script&gt; 标记)您可能不使用 @987654328 @ 事件处理程序,但我通常建议在其中包装 jQuery,只是为了确保事件被绑定到 元素到它们被绑定的 which 存在于DOM。

    参考资料:

    【讨论】:

    • 太棒了;不客气,我很高兴能帮上忙! =)
    【解决方案2】:
    • .text() -- 获取元素内的文本
    • .val() -- 获取元素的

    由于文本存储在value 中,因此您应该使用.val() 而不是.text()

    var suspect = $('input#suspect').val(),
        reason = $('input#reason').val();
    $("textarea").val(suspect+" and "+reason);
    

    【讨论】:

      【解决方案3】:

      如果您想要即时更改,请尝试键盘事件

      $(window).keyup(function() {
      var suspect = $('input#suspect').val();
      var reason = $('input#reason').val();
      $('textarea').val('' + suspect + ' and ' + reason + '');
      });
      

      请看这里:http://jsfiddle.net/TtAVS/

      【讨论】:

        【解决方案4】:

        您可能想在此处使用val() 而不是text(),并且还需要某种事件(如点击)导致从输入中提取数据并将其放入文本区域。

        还可能值得注意的是,由于 id 是唯一的,

        var suspect = $('#suspect').val();
        var reason = $('#reason').val();
        

        作为选择器就足够了,而且(我发现)更容易阅读。

        【讨论】:

          【解决方案5】:

          应该使用.val()从输入框获取值

          【讨论】:

            猜你喜欢
            • 2012-02-11
            • 1970-01-01
            • 2022-08-12
            • 1970-01-01
            • 2011-05-04
            • 2013-06-07
            • 1970-01-01
            • 2023-03-03
            • 2013-10-31
            相关资源
            最近更新 更多