【问题标题】:jQuery. Get text input field's value on button clicking event?jQuery。在按钮单击事件上获取文本输入字段的值?
【发布时间】:2016-05-15 20:10:38
【问题描述】:

html:

<div id="search">
  <input id="term" type="text" value="enter your search" />
  <button id="hit" type="button" name="">Search</button>
</div>

jQuery:

$(document).ready(function() {
  var term = $('#term').val();
  $('#hit').click(function() {
    alert(term);
  });
});

问题是,无论我在输入字段中输入什么,然后点击按钮,它总是提示原始输入值是“输入您的搜索”。

我该如何解决?

【问题讨论】:

    标签: jquery


    【解决方案1】:

    您需要获取click 上的值,而不是document ready

    $(document).ready(function() {
      $('#hit').click(function() {
        var term = $('#term').val();
        alert(term);
      });
    });
    

    【讨论】:

      【解决方案2】:

      因为您在文档准备好时创建了变量.. 尝试在点击函数中创建变量“term”...

        $(document).ready(function() {
            $('#hit').click(function(event) {
                var term = $('#term').val();
                alert(term);
            });
        });​
      

      【讨论】:

        【解决方案3】:

        您遇到的问题是整个代码块在 DOM 就绪事件上执行。

        var term = $('#term').val(); 仅被评估一次,并将“输入您的搜索”存储在 term 变量中。这就是为什么无论您将值更改为什么,该变量在页面呈现时仍然保持初始值。

        相反,您应该做的更像是以下内容:

        jQuery

        $(document).ready(function() {
          $('#hit').click(function() {
            alert($('#term').val());
          });
        });
        

        在这段代码中,当点击事件侦听器触发时,会评估具有 id term 的元素的值。

        【讨论】:

          【解决方案4】:

          遇到麻烦后这对我有用 对于整数

          function getValue(){
              $("qty").value = parseInt($("qty").value);
          }
          

          对于字符串

          function getValue(){
              $("qty").value = $("qty").value;
          }
          

          【讨论】:

            猜你喜欢
            • 2015-09-11
            • 2019-12-09
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-09-23
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多