【发布时间】:2013-09-12 06:18:56
【问题描述】:
我有一个来宾列表,希望能够在 jQuery 自动完成中使用,但我似乎无法正确获取格式。我正在使用 CakePHP 2.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
)
请记住,索引指的是客人的 ID。
我使用 json_encode 来转换 php $guests 数组,结果如下格式
var guests = {"1":"guest a","2":"guest b","3":"guest c"};
我在文档中注意到数据源通常采用如下格式
var guests = [guest_a, guest_b, guest_c];
记住索引指的是客人的ID,所以我需要使用这个数字来确保选择了正确的客人,如果碰巧有两个同名的客人
所以,这里是自动完成框的 javascript/jquery
var guests = <?php echo json_encode($guest_list); ?>;
$(function() {
$( "#guests_autocomplete" ).autocomplete({
source: guests
});
});
如何正确格式化我的客人数组以使用自动完成功能并仍然跟踪客人的 ID?
【问题讨论】:
标签: php javascript jquery autocomplete jquery-autocomplete