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);
});
});
问题在于,无论我在输入字段中键入什么内容,然后点击按钮,它始终会提醒原始输入值“输入您的搜索”。
我该如何解决?
答案 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;
}