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 );
しかし、それは入れ子になったオブジェクトを生成し、オートコンプリートは正しく読み取れないようです。