我有一個搜索框,可以根據MySql數據庫中的數據給出建議結果列表。如果用戶鍵入A並且Apple
和Animal
字在數據庫中,則建議框將顯示兩個結果。目前,我無法單擊其中一個結果並填寫文本框,無論我嘗試做什麼,我似乎都無法使其工作。目前,我的東西,看起來像這樣的工作:點擊建議結果並填充文本框
echo '<script type ="text/javascript">';
echo 'function textFill(){';
echo ' var txt=document.getElementById("userInput").value= <li onclick ="textFill(this.value)">' .$matched[$count].'</li>'; //Suggestion results
echo '}';
echo"</script>";
}
我會說實話,我不知道這是否是即使是想在正確的道路,但我發現了幾個例子模糊地類似於這個,所以這就是我的方向。通過這種設置,建議框甚至不顯示,但是如果我拿走echo '<script type ='text/javascript>'
它將顯示結果加上整行getElement
代碼。我將如何去讓這個工作正常?如有必要,我可以展示更多代碼。
編輯: 我提供更多的代碼,以顯示更多我的PHP:
if(isset($_GET['userInput'])){
$value = $_GET['userInput']; //assign the value
strtolower($value);
}else{
echo "no input";
}
//Select query
$sql = "SELECT Device_type FROM Device WHERE Device_type LIKE '%".$value."%';";
if($result = mysqli_query($conn, $sql)){
if(mysqli_num_rows($result) > 0){
//Store the result in an array list[]
while($row = mysqli_fetch_array($result)){
$list[] = $row['Device_type'];
}
}else{
//set a null value to list[] if no result to prevent error
$list[] = "";
}
}
if(!empty($value)){
if($matched = preg_grep('~'.$value.'~i', $list)){
$count = 0;
echo '<ul>';
while($count < sizeOf($list)){
if(isset($matched[$count])){
echo '<li > ' .$matched[$count].'</li>';
}
$count++;
}
echo '</ul>';
echo json_encode($data);
}else{
echo "No result";
}
您是否閱讀過在您的瀏覽器中按F12顯示的錯誤控制檯? –
@NielsKeurentjes錯誤未捕獲ReferenceError:未定義jQuery。我有2頁,一個有我的輸入文本框,另一個處理數據庫連接和查詢。我在第一頁的'
'部分引用了',這是我的輸入框的內容,我還需要在數據庫連接/查詢頁面上使用它? – Jcmoney1010庫需要獨立包含在使用它們的每個*頁*中。如果您在iframe中加載此代碼,那是一個新頁面。如果你通過Ajax加載它(因爲我懷疑你沒有),它不是。但是,所有JS處理都會停止第一個致命錯誤,這是肯定的。 –