HTML:
<input ng-keyup="searchCustomer()" id="customerAutocomplete" type="text">
角度
$scope.searchCustomer = function() {
$http.get('/api/customers') //this is a json return
.then(function (response) {
console.log(response.data); //FIRST OUTPUT
$('#customerAutocomplete').autocomplete({
lookup: response.data,
onSelect: function (suggestion) {
console.log(response);
}
});
}, function (error) {
console.log(error)
})
}
私が何かを入力すると私のコンソールの出力は次のようになります:
あなたが見ることができるように、それはにconsole.logを返しますが、エラーがありますし、何のオートコンプリート上映はありません。
jQuery-Autocompleteの使用部分には、私が試した部分があり、機能しました。
var countries = [
{ value: 'Andorra', data: 'AD' },
{ value: 'Zimbabwe', data: 'ZZ' }
];
$('#autocomplete').autocomplete({
lookup: countries,
onSelect: function (suggestion) {
alert('You selected: ' + suggestion.value + ', ' + suggestion.data);
}
});
しかし、http呼び出しから自分のデータのcountries変数を変更すると、エラーが発生します。
私は図書館
のライン85をチェックし、それがreturn suggestion.value.toLowerCase().indexOf(queryLowerCase) !== -1;
です。
だから私の最初の推測ではJSON.stringify
にresponse.data
ですし、私はこれを取得:
だから、それはあまりにも動作しませんでした。すべてのヘルプは非常にサーバーからjQuery-Autocomplete
documentation応答を1として
今私は、未定義のプロパティ '長さ' を読み取ることができません取得 – FewFlyBy
この部分の提案:$ .map(response.data、function(dataItem) – FewFlyBy
私は 'searchCustomer'関数が必要ではないと思うので私の答えを更新しました。 – ranakrunal9