[解決済み] なぜbloodhound.get()は未定義を返すのですか?
2022-02-12 23:09:13
質問
以下のコードをtypeahead.js v 0.10で使おうとしています。
// instantiate the bloodhound suggestion engine
var numbers = new Bloodhound({
datumTokenizer: function(d) { return d; },
queryTokenizer: Bloodhound.tokenizers.whitespace,
local: ["(A)labama","Alaska","Arizona","Arkansas"]
});
// initialize the bloodhound suggestion engine
numbers.initialize();
console.log(numbers.get('a'));
実際、私はこの問題を解決しようとしています。 https://github.com/bassjobsen/Bootstrap-3-Typeahead/issues/26 私は、以下のようなことが可能であると期待していました。
$('.typeahead').typeahead(
{
items: 4,
source:function(query){return numbers.get(query)}
});
更新
は
例
.使用
ttAdapter()
で、typeaheadのソースを設定します。
また、この関数は
source
プロパティ(文字列の配列または関数を受け取る)を使用します。
ブートストラップ3-タイプアヘッド
:
// instantiate the bloodhound suggestion engine
var numbers = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,//function(d) { return d; },
queryTokenizer: Bloodhound.tokenizers.whitespace,
local: ["(A)labama","Alaska","Arizona","Arkansas","Arkansas2","Barkansas"]
});
// initialize the bloodhound suggestion engine
numbers.initialize();
$('.typeahead').typeahead(
{
items: 4,
source:numbers.ttAdapter()
});
bloodhound.jsが表示されます。
ttAdapter: function ttAdapter() {
return _.bind(this.get, this);
}
だから
ttAdapter()
は、クエリを引数に持つ source で設定可能な関数 (get()) を返します。
どのように解決するのですか?
Bloodhound.get()を以下のように実装してみました(こちらのfiddleもご覧ください。 http://jsfiddle.net/Fresh/HS9Wy/ ):
// instantiate the bloodhound suggestion engine
var numbers = new Bloodhound({
datumTokenizer: function (d) {
return d;
},
queryTokenizer: Bloodhound.tokenizers.whitespace,
local: ["(A)labama", "Alaska", "Arizona", "Arkansas"]
});
// initialize the bloodhound suggestion engine
numbers.initialize();
// Get an array of datums which satisfy the query for 'a'
numbers.get('a', function (suggestions) {
jQuery.each(suggestions, function (index, item) {
console.log(item);
});
});
あなたの呼び出した "get()" の問題、すなわち。
numbers.get('a')
つまり、Bloodhoundに'a'のクエリを実行させる一方で、その結果に対して何もしていないのです。get()" に何か有用なことをさせるためには、結果を出力関数に送る必要があります。以下はその例です。 のドキュメントはこちら .
関連
-
[解決済み】「Missing required request header」を修正する方法。origin,x-requested-withのいずれかを指定する必要があります' Ajax Error
-
[解決済み】BootstrapがUncaught Errorを投げる。BootstrapのJavaScriptはjQueryを必要とする【解決済み
-
[解決済み】Bootstrap - Uncaught TypeError: 未定義のプロパティ 'fn' を読み取れない。
-
[解決済み] jQuery onclick が動的に挿入された HTML 要素で発火しない?重複
-
[解決済み] jqueryで日付を比較する
-
[解決済み] jQuery On Clickが動作しない
-
[解決済み] Bootstrapのcollapseが機能しない。ハンバーガーメニューが表示されない。
-
[解決済み] event.preventDefault() vs. return false
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] 変数が「未定義」または「NULL」であるかどうかを判断するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】 .autocomplete is not a function Error
-
[解決済み] カルーセルで画像を中央に配置する方法
-
[解決済み] jQueryのディファレンシャルとプロミス - .then() vs .done()
-
[解決済み] TypeError: $.ajax(...) is not a function?
-
[解決済み] TypeError: $(...).autocomplete は関数ではありません。
-
[解決済み] ファイルをホストせずにホットリンクできるjQueryのバージョンはどこかにあるのでしょうか?
-
[解決済み] 無効な JSON プリミティブ ERROR
-
[解決済み] jQueryとIntraweb?
-
[解決済み] jQuery Mobileのボタンを無効にする
-
[解決済み] jQueryの再帰性が高すぎる