【发布时间】:2009-02-14 05:23:54
【问题描述】:
我有一个简单的页面,我可以在其中选择一个客户,然后一旦我选择了自动填充到属于该客户的项目中。我正在使用 PHP/MySQL 来提取结果。
我看了一下: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”吗?您传递给函数的值已经被称为没有 $ 的项目,所以当您执行 projects = $('#p_id');您正在覆盖服务器的输出。我更新了我的答案。
-
什么不能用它?获取 Firebug for Firefox 并检查服务器返回的内容。
-
Reponse: [] 它不向页面发送参数 Param: id 有什么想法吗?谢谢,瑞恩
标签: php javascript jquery auto-populate