jquery自动完成返回源数组

时间:2012-05-04 10:15:03

标签: php jquery jquery-autocomplete

我正在使用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;
}
?>

自动完成工作正常。但是,只是当我开始在输入字段中输入内容时,加载的建议是整个数组。我会得到“Chicago Cubs”,“Boston Red Sox”,“Atlanta Braves”,.....

1 个答案:

答案 0 :(得分:0)

使用ie Json在php脚本中呈现输出。 ATM它不是由javascript解析的,只与“,”一起对单个数组元素进行解析。我不认为这就是你想要的。还要注意所需的数据数据结构。

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