私は次の形式のjson配列を持っています:
[{"label":<some-label>,"spellings":[<list of spellings>]}, ...]
jqueryuiautocompleteを使用して上記の配列を解析する必要があります。ただし、いくつかの制約があります。
- オートコンプリートの提案には、「スペル」からの一致が含まれている必要がありますが、対応する「ラベル」のみが提案されている必要があります。たとえば、「ラベル」にn個の「スペル」がある場合、オートコンプリートはn個の「スペル」にその特定の「ラベル」のみを表示する必要があります。
- 提供された提案から選択すると、対応する「ラベル」はテキスト入力ボックスにのみ反映されます。
どのように進めればよいですか?ポインタはありますか?
そして、対応する「ラベル」の「スペル」のリストを繰り返す方法は?
これは私がやろうとしていることですが、文字化けした出力を提供します。
var labels = []
var values = []
$.getJSON($url, function(data) {
$.each(data, function(key, val) {
for (var v in val.value)
values.push(val.value[v])
labels.push(val.label)
});
$("#text1").autocomplete({
minLength: 2,
source: values,
focus: function(event, ui) {
$("#text1").val(ui.item.label);
return false;
},
select: function(event, ui) {
$("#text1").val(ui.item.label);
return false;
}
});
});