我有简单的形式我想在div标签下显示搜索结果所以我为它写了一些jquery但我不会工作:
<form action="case_databasechange.php" method="post">
<label>Look in</label>
<select name="look-in" id="look">
<!--<option selected hidden disabled value=""></option>-->
<option value="entry">Entry</option>
<option value="town">Town</option>
<option value="Introducer">Introducer</option>
</select>
<label>For</label>
<input name="search-box" type="text" class="wd-500" id="searchv" />
<!-- id="search-box" changed-->
<button type="submit" value="Submit" id="search">Search</button>
</form>
我编写简单的jquery来显示搜索结果:
$('#look').change(function () {
var look = $('#look').val();
});
$('#searchv').keyup(function () {
var search = $('#searchv').val();
});
$.post("getEntry.php", {
lookin: look,
for: search
}, function (data, status) {
$('#txtHint1').html("data");
});
但任何结果都不会显示在
<div id="txtHint1"></div>
代码
答案 0 :(得分:2)
变量外观和搜索是本地定义的,它们仅限于函数。
试试这个..
$.post("getEntry.php", {
lookin: $('#look').val(),
srch: $('#searchv').val() // do not use for keyword it may not work
},
function(data,status){
$('#txtHint1').html(data); // remove the doube quotes
});
答案 1 :(得分:1)
从数据中删除双引号。 data
是一个变量。
$.post("getEntry.php",
{
lookin: look,
for: search
},
function(data,status)
{
$('#txtHint1').html(data);
});
答案 2 :(得分:1)
从"data"
删除双引号。数据是一个变量&amp;您正在转换它或将其用作String。
此外,for
是关键字。它可能不起作用,如果你想使用它使它成为字符串:)。
$.post("getEntry.php",
{
"lookin": look,
"for": search
},
function(data,status)
{
$('#txtHint1').html(""+data+"");
});
此外,您的变量look
和search
位于local function
s内,因此$.post
无法使用它们,我们无法检测到何时调用OnWhichEvent?
$.post
?
我建议您制作global
并将代码更改为:
var look,search;
$('#look').change(function () {
look = $('#look').val();
$.post("getEntry.php", {
"lookin": look,
"for": search
}, function (data, status) {
$('#txtHint1').html(data);
});
});
$('#searchv').keyup(function () {
search = $('#searchv').val();
$.post("getEntry.php", {
"lookin": look,
"for": search
}, function (data, status) {
$('#txtHint1').html(data);
});
});
希望它现在有用。 :)
答案 3 :(得分:1)
你的设计有些缺陷。您在事件处理程序中声明并初始化局部变量,但它们无法被全局范围看到 - $ .post无法使用这些值。通过将顶部的外观和搜索变量声明为全局变量来修复它,然后在处理程序中只分配值。
var look, search; //at the top as globals
look = ....;
search = .....; // in the handlers
起飞&#34;从数据和使用&#39;为&#39;:而不是: