我有一個簡單的頁面,我可以選擇一個客戶端,然後我選擇了自動填充到屬於客戶端的項目。我使用PHP/MySQL來獲取結果。jQuery和自動populat選擇
我看了一下這個:http://remysharp.com/2007/01/20/auto-populating-select-boxes-using-jquery-ajax/但我認爲這是從頁面上的兩個字段開始。我試圖重寫代碼,但沒有很好地出現。
var client_id = $('#c_id').val();
$.getJSON("../inc/get-projects.php", {id: client_id}, function(data){
projects = $('#p_id');
projects.empty();
$.each(data, function() {
var option = $('<option/>').attr('value', this.id).text(this.name);
projects.append(option);
});
});
PHP:
<?php
include "config.inc.php";
$sth = mysql_query(
sprintf(
"SELECT c_id,p_id,p_title FROM projects WHERE c_id = %s",
mysql_real_escape_string($_GET['id'])
)
);
$projects = array();
while($r = mysql_fetch_assoc($sth)) {
$projects[] = array('id' => $r['p_id'], 'name' => $r['p_title']);
}
print json_encode($projects);
exit;
?>
哦,我明白了什麼是錯的。你看我如何命名我的變量'$ projects'並且你命名了你的'projects'?你傳遞給函數的值已經被稱爲沒有$的項目,所以當你做項目= $('#p_id');您正在覆蓋服務器的輸出。我更新了我的答案。 – 2009-02-18 18:01:53
什麼不適用於它?獲取Firefox的Firebug並檢查服務器返回的內容。 – 2009-02-19 03:06:26