jQuery的。在按钮点击事件中获取文本输入字段的值?

时间:2012-05-29 00:36:52

标签: jquery

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);
  });
});

问题在于,无论我在输入字段中键入什么内容,然后点击按钮,它始终会提醒原始输入值“输入您的搜索”。

我该如何解决?

4 个答案:

答案 0 :(得分:19)

你遇到的问题是整个代码块都在DOM ready事件上执行。

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

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

JQuery的

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

在这段代码中,当click事件监听器触发时,将评估具有id term的元素的值。

答案 1 :(得分:7)

因为您在文档准备就绪时创建了变量.. 尝试创建变量&#34; term&#34;在点击功能... ...

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

答案 2 :(得分:4)

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

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

答案 3 :(得分:0)

这在遇到麻烦后对我有用 对于int

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

对于字符串

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