HTML:
<div id="search">
<input id="term" type="text" value="enter your search" />
<button id="hit" type="button" name="">Search</button>
</div>
Run Code Online (Sandbox Code Playgroud)
jQuery的:
$(document).ready(function() {
var term = $('#term').val();
$('#hit').click(function() {
alert(term);
});
});
Run Code Online (Sandbox Code Playgroud)
问题是,无论我在输入字段中键入什么内容,然后点击按钮,它始终会提醒原始输入值"输入您的搜索".
我该如何解决?
Aar*_*ron 20
您遇到的问题是整个代码块都在DOM ready事件上执行.
var term = $('#term').val();正在评估一次,并在术语变量中存储"输入您的搜索".这就是为什么无论您将值更改为什么,变量在呈现页面时仍保持初始值.
相反,你应该做的更像是以下内容:
JQuery的
$(document).ready(function() {
$('#hit').click(function() {
alert($('#term').val());
});
});
Run Code Online (Sandbox Code Playgroud)
在这段代码中,当click事件侦听器触发时,将评估具有id term的元素的值.
因为您在文档准备就绪时创建了变量..尝试在单击函数内创建变量"term"...
$(document).ready(function() {
$('#hit').click(function(event) {
var term = $('#term').val();
alert(term);
});
});?
Run Code Online (Sandbox Code Playgroud)