我试图动态更新 jQuery UI 源。我可以用一个数组很好地做到这一点,例如:
var arrProducts = ['cheese' , 'bread' , 'milk'];
但需要使用对象来完成。在切换到使用 AJAX 之前,这在第一页加载时运行良好,将一组对象从 PHP 传递到 Twig:
var arrProducts = [
{% for product in allproducts %}
{
title: "{{ product.title }}",
url: "{{ product.url }}",
label: "{{ product.label }}"
},
{% endfor %}
];
那么,如何在 javascript 中复制这种格式?我试过这个:
var arrProducts = [];
$.each(data.products, function(index, product)
{
prod['title'] = product.title;
prod['url'] = product.url;
prod['label'] = product.label;
arrProducts.push(prod);
});
$('.searchBox' ).autocomplete( "option", "source", arrProducts );
但这会产生嵌套对象,然后自动完成似乎无法正确读取。