Php Ajax/jQuery自动完成,奇怪的bug?
我曾经在另一个网站上使用过一段代码,它工作得很好——我发现并修改了一个jQuery Ajax PHP自动完成插件。它在site y上运行良好,但在site x上,当用户未选择在Blur上发生的任何内容时,它会自动默认文本框,代码如下:Php Ajax/jQuery自动完成,奇怪的bug?,php,jquery,mysql,ajax,autocomplete,Php,Jquery,Mysql,Ajax,Autocomplete,我曾经在另一个网站上使用过一段代码,它工作得很好——我发现并修改了一个jQuery Ajax PHP自动完成插件。它在site y上运行良好,但在site x上,当用户未选择在Blur上发生的任何内容时,它会自动默认文本框,代码如下: <script type="text/javascript"> function lookup(inputString) { if(inputString.length == 0) { $('#sugge
<script type="text/javascript">
function lookup(inputString) {
if(inputString.length == 0) {
$('#suggestions').hide();
} else {
$.post("rpc.php", {queryString: ""+inputString+""}, function(data){
if(data.length >0) {
$('#suggestions').show();
$('#autoSuggestionsList').html(data);
}
});
}
}
function fill(thisValue) {
$('#inputString').val(thisValue);
setTimeout("$('#suggestions').hide();", 200);
}
</script>
有人似乎注意到什么不对劲吗?非常感谢
非常感谢所有回复:您能添加一些查看信息吗?如果您将Safari或Firefox与Firebug一起使用,您可能会在控制台中收到一些错误。这对于更好地理解您的问题也可能很有用。嗨,比约恩·希杰夫,控制台中没有错误,我在前面检查过:唯一的问题是,当用户键入数据时,如果他们没有从自动完成列表中选择任何内容,他们键入的数据将在模糊时消失。好的,您确定没有其他代码影响您所引用的文本框吗?有一个单独的其他jQuery函数在Focus上运行一个函数,但在文档的后面只是一个.fadeIn。
<?php
session_start();
$user = $_SESSION['ns_user'];
$db = new mysqli('xxxx.com', 'xxxx' ,'xxxx', 'xxxx');
if(!$db) {
echo 'ERROR: Could not connect to the database.';
} else {
if(isset($_POST['queryString'])) {
$queryString = $db->real_escape_string($_POST['queryString']);
if(strlen($queryString) >0) {
$query = $db->query("SELECT school FROM noteshare_users WHERE school LIKE '$queryString%' GROUP BY school");
if($query) {
while ($result = $query ->fetch_object()) {
echo '<li onClick="fill(\''.$result->school.'\');">'.$result->school.'</li>';
}
} else {
echo 'ERROR: There was a problem with the query.';
}
} else {
}
} else {
echo 'There should be no direct access to this script!';
}
}
?>
function fill(thisValue) {
if(thisValue==""){
var x = $('#inputString').val();
$('#inputString').val(x);
}
else {
$('#inputString').val(thisValue);
setTimeout("$('#suggestions').hide();", 200);
}
}