8

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

4 回答 4

22

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

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

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

jQuery

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

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

于 2012-05-29T00:42:57.420 回答
7

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

  $(document).ready(function() {
      $('#hit').click(function(event) {
          var term = $('#term').val();
          alert(term);
      });
  });​
于 2012-05-29T00:40:51.920 回答
4

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

$(document).ready(function() {
  $('#hit').click(function() {
    var term = $('#term').val();
    alert(term);
  });
});
于 2012-05-29T00:40:51.193 回答
0

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

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

对于字符串

function getValue(){
    $("qty").value = $("qty").value;
}
于 2019-03-16T10:00:53.890 回答