0

我正在使用 jquery 的 ajax 函数从外部 php 文件中获取数据。从 php 文件返回的数据将用于自动完成功能。但是,它不是自动完成函数从 php 文件中的数组中建议每个特定值,而是返回所有这些值。我的 jquery 看起来像这样。

jQuery('input[name=past_team]:radio').click(function(){
            $('#shadow').fadeIn('slow');
            $('#year').fadeIn('slow');

            var year = $('#year').val();

            $('#year').change(function () {
                $('#shadow').val('');

                $.ajax({  
                    type: "POST",  
                    url: "links.php",  
                    data: ({
                        year: year,
                        type: "past_team"
                    }),
                    success: function(data)      
                    {
                        var data = [data];

                        $("#shadow").autocomplete({ 
                            source: data
                        });
                    }
                });
            });
        });

link.php 文件如下所示:

 <?php
session_start();
require_once("functions.php");
connect();

$type = $_POST['type'];
$year = $_POST['year'];

if($type == "past_team")
{
    $funk   =   mysql_query("SELECT * FROM past_season_team_articles WHERE year = '".$year."'")or die(mysql_error());
    $count  =   mysql_num_rows($funk);
    $i      =   0;

    while($row = mysql_fetch_assoc($funk))
    {
        $name[$i]   =   $row['team'];

        $i++;
    }

    $data = "";

    for($i=0;$i<$count;$i++)
    {
        if($i != ($count-1))
        {
            $data .= '"'.$name[$i].'", ';
        } else
        {
            $data .= '"'.$name[$i].'"';
        }
    }

    echo $data;
}
?>

自动完成工作。但是,只是当我开始在输入字段中输入内容时,加载的建议是整个数组。我会得到“芝加哥小熊队”,“波士顿红袜队”,“亚特兰大勇士队”,......

4

1 回答 1

0

使用 ie Json 在 php 脚本中呈现您的输出。ATM 不会被 JavaScript 解析,仅与“,”连接到单个数组元素。我不认为那是你想要的。还要注意数据所需的数据结构。

有关工作示例(在客户端,请参阅远程 JSONP 示例http://jqueryui.com/demos/autocomplete/#remote-jsonp

于 2012-05-04T10:23:39.917 回答