我一直在尝试创建一个粗略的自动完成输入框,几乎就在那里。然而,陷入某一点。在确定问题之前,请检查代码。
JS
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script>
function getres(){
var x = document.getElementById("cit");
$('#resdiv').fadeIn('fast').load('results.php?cit='+x.value);
}
</script>
<script type="text/javascript">
$(document).ready(function(){
$("#resdiv a").click(function(){
var value = $(this).html();
var input = $('#cit');
input.val(value);
$('#resdiv').fadeOut('fast');
});
});
</script>
一些CSS
<style>
a{text-decoration:none}
a:link{color:#446666;}
a:hover{background-color:blue;padding:5px;margin:10px;color:white}
</style>
HTML
<input type="text" name="" id="cit" onkeyup="getres()">
<div id="resdiv">
<a href="#" class="test">Test 1</a>
<a href="#" class="test">Test 2</a>
<a href="#" class="test">Test 3</a>
</div>
PHP(results.php)
<?php
if(isset($_GET['cit'])){$cit= $_GET['cit'];}
include('connnew.php');
$getprops=$clientdb->query("SELECT * FROM cities WHERE city LIKE '%$cit%'") or die ($clientdb->error);
while($info=$getprops->fetch_assoc()){
echo "<a href='#' class='test'>$info[city]</a><br>";
//echo "<a href='#' style='text-decoration:none;'>$info[city]</a><br>";
}
?>
我的问题是,虽然一切正常但是当我点击hrefs Tes1,Test2和Test3时,输入框#cit会填充值,但不会填充PHP填充到同一个#resdiv中的href值!
为什么会这样?使用jquery的click函数只能在写为文本的hrefs上工作吗?而不是人口稠密的hrefs?