システムのページを検索するDjangoアプリケーションにBootstrap-Ajax-Typeaheadの実装があります。私は、AJAXを介した検索に基づいて検索結果に合ったページを取得し、ユーザーは先行提案をクリックして問題のページに移動できます。クエリがdisplayFieldにないときにBootstrap-Ajax-Typeaheadが結果を表示しない
しかし、クエリ文字列がdisplayField(タイトル)に含まれていない場合は、検索メカニズムを介して返されたことがわかりますが、提案は表示されません。私は試合が中に発見された場合、まだユーザーに結果を表示したい
{
title: "Movies",
url: "/movies/",
description: "Find a motion picture in your area"
}
:私は「映画」を検索する場合たとえば、私のような私の検索を経由してJSONオブジェクトの戻りを
を持っていますdescription属性が一致するヒントがある場合にのみ、Typeaheadが表示されます。
クエリがdisplayFieldにない場合に検索結果を表示するにはどうすればよいですか?
注:私はBv3で前書きブートストラップを使用しています。デフォルトでは
$(document).ready(function ($) {
var JSONSearchURL = "/search/";
var searchBox = $('#search-form');
searchBox.typeahead({
onSelect: function (item) {
window.location = item.value;
},
ajax: {
url: JSONSearchURL,
timeout: 800,
displayField: "title",
valueField: "url",
method: "get",
dataType: "JSON",
preDispatch: function (query) {
return {
q: query
}
},
preProcess: function (data) {
return data;
}
}
});
});
感謝を!表示されたすべての結果はバックエンド検索で一致するので、 'matcher'メソッドを使用して同様の修正を行い、常に' true'を返します。 –