我有一个简单的页面,我可以选择一个客户端,然后我选择了自动填充到属于客户端的项目。我使用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