当前位置:  开发笔记 > 编程语言 > 正文

jQuery和Auto-populat选择

如何解决《jQuery和Auto-populat选择》经验,为你挑选了1个好方法。



1> Paolo Bergan..:

如果您有这样的HTML:



你可以有这样的jQuery代码:

$(document).ready(function() {
    var $clients = $('#clients');
    $clients.change(function() {
        var client_id = $clients.val();
        $.getJSON("getProjects.php", {id: client_id}, function(projects) {
            $projects = $('#projects');
            $projects.empty();
            $.each(projects, function() {
                var option = $('

然后让getProjects.php返回如下内容:

$sth = mysql_query(
    sprintf(
    "SELECT * FROM projects WHERE client_id = %s",
    mysql_real_escape_string($_GET['id'])
    )
);
$projects = array();
while($r = mysql_fetch_assoc($sth)) {
    $projects[] = array('id' => $r['id'], 'name' => $r['name']);
}
print json_encode($projects);
exit;

我没有测试过所有这些,但我认为它或多或少都是你想要的.

编辑 - 测试和工作,显然它可能不是你需要的,但它让你知道如何去做.希望能帮助到你.

编辑2 - 您的代码存在问题:

$.getJSON("../inc/get-projects.php", {id: client_id}, function(projects){
    projects = $('#p_id');
    projects.empty();
    $.each(projects, function() {
        var option = $('

您将projects使用projects第二行覆盖传入函数的内容.我$在我的代码中使用了一个来区分这两者,这可能不是最好的方法.要修复,请将代码更改为:

$.getJSON("../inc/get-projects.php", {id: client_id}, function(data){
    projects = $('#p_id');
    projects.empty();
    $.each(data, function() {
        var option = $('

推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有