我正在使用.live
jQquery 函数来更新 $post php 脚本中的某些内容,该脚本会在输入框上打开一个弹出窗口。问题是文本的值进入输入字符串,但在弹出栏时消失fadesOut()
。
<script type="text/javascript">
$(document).ready(function() {
$(".category").live("click", function(){
varval= $(this).text();
$("#inputString").val(varval);
});
});
</script>
我真的很感谢一些关于如何使价值保持的帮助。
这是我的 HTML
<div>
<form id="searchform">
<div>
What are you looking for? <input type="text" size="30" value="" id="inputString" onkeyup="lookup(this.value);" />
</div>
<div id="suggestions"></div>
</form>
这是JS
function lookup(inputString) {
if(inputString.length == 0) {
$('#suggestions').fadeOut(); // Hide the suggestions box
} else {
$.post("rpc.php", {queryString: ""+inputString+""}, function(data) { // Do an AJAX call
$('#suggestions').fadeIn(); // Show the suggestions box
$('#suggestions').html(data); // Fill the suggestions box
});
}
}
这会调用一个 php 文件,其中包含以下内容
<p id="searchresults">
<?php
while ($result = $query ->fetch_object()) {
if($result->liveSearchID != $catid) { // check if the category changed
echo '<a href="" class="category">'.$result->Keyword.'</a>';
$catid = $result->liveSearchID;
}
?></p>
好的,这是我尝试过的一个变体,它仍然在做同样的事情
$(document).delegate(".category", "click", function( event ) {
var varval= $(this).text();
$("#inputString").val(varval);
});
我为你们打开了我的服务器的测试链接
请使用意大利面作为测试文本
visit http://122.160.94.46/autoSuggest1/