使用PHP数组实现jQuery自动完成

使用PHP数组实现jQuery自动完成,php,javascript,jquery,autocomplete,jquery-autocomplete,Php,Javascript,Jquery,Autocomplete,Jquery Autocomplete,我有一个我希望能够在jQuery自动完成中使用的来宾列表,但我似乎无法获得正确的格式。我使用的是CakePHP2.3.8,并从控制器发送了一个来宾列表供查看。当我在文本框中键入时,我得到以下错误 //in reference to source of the elements to populate the autocomplete list Property 'source' of object [object Object] is not a function 我在这里搜索了这个错误,但

我有一个我希望能够在jQuery自动完成中使用的来宾列表,但我似乎无法获得正确的格式。我使用的是CakePHP2.3.8,并从控制器发送了一个来宾列表供查看。当我在文本框中键入时,我得到以下错误

//in reference to source of the elements to populate the autocomplete list
Property 'source' of object [object Object] is not a function 
我在这里搜索了这个错误,但是我找不到任何与转换PHP数组相关的内容,同时也考虑了该项的索引号。我有一个PHP数组,格式为

echo "<pre>"; print_r($guest_list); echo "</pre>"; 
//results in the following, where the index is the guest's ID
array(
    [1] => guest a,
    [2] => guest b,
    [3] => guest c
)
我注意到文档中的数据源通常采用如下格式

var guests = <?php echo json_encode($guest_list); ?>;
$(function() {
    $( "#guests_autocomplete" ).autocomplete({
      source:  guests
    });
});
请记住索引指的是客人的ID,所以如果碰巧有两位客人的名字相同,我需要使用这个号码来确保选择了正确的客人

下面是自动完成框的javascript/jquery

var guests = ["<?php echo  implode('","',$guest_list); ?>"];
var-guests=;
$(函数(){
$(“#来宾_自动完成”)。自动完成({
资料来源:来宾
});
});
如何正确设置guests数组的格式,使其与autoComplete一起工作,同时还能跟踪guests的id?

使用

var guests = <?php echo json_encode($guest_list); ?>;
var guests=[”使用


var guests=[”它说的是意外的标识符。但是,还有一个问题。这是我的错,因为我没有说明来宾使用的是Firstname,Lastname格式。我想我可能需要重新构造它,或者只是删除名字和姓氏之间的逗号。您不需要更改格式,所以我将代码更改为将name,Lastname放在引号中。请使用新的codeThanks,虽然这样做有效,但我仍然需要跟踪我在帖子中提到的客人Id。我可以在这里添加一个隐藏字段吗?以前我使用了选择列表,在提交表单时会发送客人Id而不是他们的姓名。我可以这样做吗?在提交表单时,我需要发送客人Id,即IND数组的x值。我非常感谢您的帮助。它说的是意外的标识符。但是,还有一个问题。这是我的错,因为我没有说明来宾使用的是Firstname,Lastname格式。我想我可能需要重新构造它,或者只是删除名字和姓氏之间的逗号。您不需要更改格式,所以我更改了代码,而不是o在引号中输入姓名,lastame。请使用新代码谢谢,尽管这样做有效,但我仍然需要跟踪我在帖子中提到的来宾Id。我是否可以为此添加一个隐藏字段?以前我使用了一个选择列表,在提交表单时会发送来宾Id而不是他们的姓名。我可以在提交表单时也这样做吗ion我需要发送来宾ID,即数组的索引值。非常感谢您的帮助
var guests = ["<?php echo  implode('","',$guest_list); ?>"];
var guests = <?php echo json_encode($guest_list); ?>;