HTML:
<div id="Background">
<input id="search-Bar" type="text">
<button id="SearchButton">Search</button>
</div>
var name = $("#search-Bar").val();
$("#SearchButton").on("click", function() {
console.log(name);
});
我正在尝试使用.val()获取输入的值但是当我控制台日志时每次都变成空白,有人可以告诉我如何解决这个问题吗?
答案 0 :(得分:1)
$("#SearchButton").on("click", function() {
var name = $("#search-Bar").val(); //this should be here
console.log(name);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="Background">
<input id="search-Bar" type="text">
<button id="SearchButton"> Search </button>
答案 1 :(得分:0)
name
变量在脚本加载时仅设置为,当它实际为空且保持此状态时。
在函数体内声明它以获得每个函数调用的新的实际值。
$("#SearchButton").on("click", function() {
var name = $("#search-Bar").val();
console.log(name);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="Background"></div>
<input id="search-Bar" type="text">
<button id="SearchButton"> Search </button>
答案 2 :(得分:0)
您需要使用以下内容获取值:$('#search-Bar').val()
var name = $("#search-Bar").val();
$("#SearchButton").on("click", function(){
console.log($('#search-Bar').val());
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="Background">
<input id="search-Bar" type="text">
<button id="SearchButton"> Search </button>
&#13;
答案 3 :(得分:0)
试试这个,
$("#SearchButton").on("click", function(){
var name = $("#search-Bar").val();
console.log(name);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="Background">
<input id="search-Bar" type="text">
<button id="SearchButton"> Search </button>
&#13;
您正在做的是在事件调用函数之外分配名称变量,这不会改变值。
希望这会有所帮助。