私はJSでこのコードを持っていますが、これは非常にうまく機能します。
var values = new Bloodhound({
datumTokenizer: function(d) { return Bloodhound.tokenizers.whitespace(d.num); },
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: '/url/that/returns/json'
});
ただし、これは 1 回しか必要ないため、次のようにプリフェッチに変更しました。
var values = new Bloodhound({
datumTokenizer: function(d) { return Bloodhound.tokenizers.whitespace(d.num); },
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: {url: '/url/that/returns/json'}
});
これにより、typeahead.js でエラー ("TypeError: a is undefined") が発生します。この機能を動作させるには、何を変更する必要がありますか?
編集:返されるjsonは、ブラウザでURLにアクセスした場合です:
[{"name":"MyName","id":"100","code":"CODE"}]