我有一個PHP/AJAX搜索腳本,可以正常工作。問題是,當我在文本字段中輸入某些內容時,建議將顯示在下方,但無法選擇。總之,我想選擇其中一個建議,並在選擇它時在搜索文本字段中顯示值。如何選擇文本並使用JavaScript或jQuery將其顯示在另一個文本框中
我已經嘗試了JavaScript的解決方案,但它不工作。它顯示控制檯中的錯誤,如「選擇值爲空」。
ajax.php
<head>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js">
</script>
</head>
<body>
<input id="sear" autocomplete="off" type="text" name="search"
placeholder="Seaarch here" onkeyup="search(this.value)">
<div onclick="ali()" id="list" ></div>
<script>
function search(str){
if(str.length ==0){
document.getElementById("list").innerHTML="Please Enter Something";
return;}
xml=new XMLHttpRequest();
xml.onreadystatechange=function(){
if(xml.readyState==4 && xml.status==200){
document.getElementById("list").innerHTML=xml.responseText;}
}
xml.open("GET","search.php?char="+str,true);
xml.send();
}
</script>
<script>
document.addEventListener("DOMContentLoaded",function(){
function ali(){
var acs;
var x=document.getElementById("#list").select();
acs=x.value;
document.getElementById("#sear").innerHtml=acs;
}
});
</script>
</body>
的search.php
<?php
$con=mysqli_connect("localhost","root","","userdiary");
$str=$_GET['char'];
$sql="SELECT * FROM `login` WHERE `user_id` LIKE '$str%' OR `user_name` LIKE
'$str%'";
$query=mysqli_query($con,$sql);
if(mysqli_num_rows($query)>0){
while($res=mysqli_fetch_assoc($query)){
echo "<option>" .$res['user_name']."</option>"."<hr>";
}
}
else{
echo "No match Found..";
}
?>
我試過你的代碼..但控制檯說這是不是一個功能... – mastermind
你可以改變它爲.click()?例如:'$('#list option')。click(function(){$('#sear').val($(this).text());});' – NightOwlPrgmr
That worked ......;)但仍有一個問題.. – mastermind