2
我的表單中有兩個自動填充字段。我用下面的代碼填充的第一個字段的列表...基於另一個輸入值的jquery自動完成sql查詢列表
$result = mysql_query("SELECT * FROM exercise_strength");
$arr_autoCompleteExerciseStr=array();
$s=0;
while($row = mysql_fetch_array($result)){
$autoCompleteExerciseStr = "\"".ucfirst($row['exercise'])."\", ";
$arr_autoCompleteExerciseStr[$s] = $autoCompleteExerciseStr;
$s++;
}
和...
$(function() {
var availableTags = [
<?php for($k=0; $k<sizeof($arr_autoCompleteExerciseStr); $k++) {echo $arr_autoCompleteExerciseStr[$k]; } ?>
];
$("#inputExercise").autocomplete({
source: availableTags,
minLength: 0
});
$("#inputExercise").focus(function(){
$(this).autocomplete("search");
});
});
相同的代碼具有不同的mysql_query用於其他領域。我想要做的是根據第一個輸入的內容更改第二個字段的列表。例如,如果用戶在第一個字段中鍵入Chest,則在我的sql數據庫中選擇的第二個字段中會顯示相關練習的列表。
這樣做的最好方法是什麼?
如果我也不會離開這個頁面,我寧願,引起那麼用戶必須重新填充表格的其餘部分..
請幫幫忙! :)
- 更新 -
基於你對JSON的建議我的代碼現在看起來是這樣。
腳本:
$(document).ready(function(){
$.post('json_exercise.php', { /**/ }, showExercise, "text");
});
function showExercise(res){
var list = JSON.parse(res);
$("#inputExercise").autocomplete({
source: list,
minLength: 0
});
$("#inputExercise").focus(function(){
$(this).autocomplete("search");
});
}
PHP文件:
$con = mysql_connect(***);
if (!$con) {die('Could not connect: ' . mysql_error());}
mysql_select_db("test", $con);
$result = mysql_query("SELECT * FROM exercise_strength");
$i = 0;
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
//add the row to the $chat array at specific index of $i
$exercise[$i] = $row['exercise'];
$i += 1;
}
echo json_encode($exercise);
現在我只需要改變PHP提起基於什麼在第一場自動完成選擇。
謝謝,我用一些新代碼更新了我的問題。你有什麼意見嗎? – Virik 2012-04-03 06:27:47