マップで使用した場合にui.autocompleteの結果を制限する正しい方法は何ですか?
ここで、単純な配列で機能するソリューションで同様の問題を見つけました。jQueryUIオートコンプリートで結果を制限します が、ソースが外部であるという事実を除けば、私の配列は少しネストされています。
未定義のエラーに対する別の解決策もここでテストしました:jqueryオートコンプリート制限の結果
以下は私がリンクから適応したものですが、成功しませんでした。
私のテスト:
var sourceUrl = '/path/to/products.json';
$("#auto").autocomplete({
source: function (request, response) {
$.getJSON(sourceUrl, {term: request.term}, function (result) {
response($.map(result.products, function (item) {
var myarray = item.product;
console.log(myarray); // the returns look expected (Product One, Product Two, etc)
var results = $.ui.autocomplete.filter(myarray, request.term);
results.slice(0, 10);
}));
});
}
});
products.json:
{"products": [{"label": "Product One", "product": "Product One", "sku": "12345"}, ...
すべての製品を単純に出力する方が簡単ですが、ドロップダウンで保持するには非常に多くの/重いものです。そのため、結果を制限する必要があります。
ヒントは大歓迎です。ありがとう。