ちょっとユーザーの現在のクエリの結果がないときにメッセージを返そうとしています。私はkeyupイベントを利用する必要があることを知っていますが、プラグインがそれを使用しているように見えますjqueryオートコンプリートで結果が処理されない
答えて
解析オプション(データ解析を処理する関数)を提供し、解析結果が返されないとき。
この例では、FullName属性とAddress属性を含むJSONオブジェクトの配列を取得していることを前提としています。
$('#search').autocomplete({
dataType: "json",
parse: function(data) {
var array = new Array();
if (!data || data.length == 0) {
// handle no data case specially
}
else {
for (var i = 0; i < data.length; ++i) {
var datum = data[i];
array[array.length] = {
data: datum,
value: data.FullName + ' ' + data.Address,
result: data.DisplayName
};
}
}
return array;
}
});
この質問が古くなって本当に私は新しいjQueryのUI 1.8.16で働いている、とにかく、オートコンプリートは今かなり異なっている:http://jqueryui.com/demos/autocomplete/#default
とにかくあなたがしようとしている場合質問と同じことは、検索結果で呼び出される関数がないことを知る限り、解析関数はもうありません。
私はこれをやってのけるために管理方法は、オートコンプリートのフィルタ機能をオーバーライドしている - 注意:これは、すべてあなたのオートコンプリートに影響します
$.ui.autocomplete.filter = function(array, term) {
var matcher = new RegExp($.ui.autocomplete.escapeRegex(term), "i");
var aryMatches = $.grep(array, function(value) {
return matcher.test(value.label || value.value || value);
});
if (aryMatches.length == 0){
aryMatches.push({
label: '<span class="info" style="font-style: italic;">no match found</span>',
value: null
});
}
return aryMatches;
};
機能は少しソースから変更され、grepの呼び出しは同じです結果がない場合はnullの値を持つオブジェクトを追加して、選択呼び出しをオーバーライドしてnull値をチェックします。
これは、入力を続けても一致するものが見つからない場合、ドロップダウンに「一致するものは見つかりません」という項目が表示されます。これは非常にクールです。選択呼び出しを無効にするために
はjQuery UI Autocomplete disable Select & Close events
$(this).data('autocomplete').menu.options.selected = function(oEvent, ui){
if ($(ui.item).data('item.autocomplete').value != null){
//your code here - remember to call close on your autocomplete after
}
};
を参照してください、私はページ上のすべての私のオートコンプリートでこれを使用するので、値は最初のnullであるかどうかをチェックしてください!あなたがそこにないキーを参照しようとする前に。
ハハ私はその年前に質問しましたが、私は今よりはるかにエレガントなパターンでこれをやり遂げると確信していますが、とにかく感謝します –
私は(メッセージが自動補完リストに示されている)同じ目的のために、次のコードを使用しています:
success: function(data, status, xhr){
if(!data.length){
var result = [
{
label: 'There are no matches for your query: ' + response.term,
value: response.term
}
];
response(result);
}
else{
// normal response
}
}
ます。また、これを調べるために、「応答」イベントを利用することができます。シンプルだがパワフル。 http://api.jqueryui.com/autocomplete/#event-response
response: function (event, ui) {
if (ui.content.length == 0) {
//Display an alert or something similar since there are no results
}
},
- 1. jquery ui autocomplete - openイベント(結果が処理されない)
- 2. Jquery UIオートコンプリートで結果が表示されない
- 3. jQueryオートコンプリートでクライアント側の結果が表示されない
- 4. jquery pluginオートコンプリート - 結果が表示されない
- 5. jqueryオートコンプリート結果ボックスが小さく
- 6. オートコンプリート検索で結果が得られない - Spring、jquery
- 7. オートコンプリートで返された結果が表示されない
- 8. jquery/asp.netオートコンプリートの結果をフィルタリングしないでください
- 9. JQueryオートコンプリートの結果がフレームでオーバーライドされます
- 10. JQuery UIオートコンプリートで最初に結果が自動的に表示されない
- 11. 入力時にオートコンプリートで結果がフィルタリングされない
- 12. オートコンプリートでリストに結果が表示されない
- 13. SP2010 FullTetSqlQuery結果がSP2007で処理されていません
- 14. jQueryのオートコンプリート - 結果リンク
- 15. jqueryオートコンプリート「結果が表示されません」
- 16. ループ外で結果が処理されるjquery関数によるループ
- 17. オートコンプリートでサーバーの結果が表示されない場合があります
- 18. jquery uiオートコンプリートの結果が小さすぎる
- 19. デプロイされたフレックスアプレットがWebサービスの結果を処理しない
- 20. jQueryのオートコンプリートJSON同じ結果
- 21. Jqueryオートコンプリートが表示されない
- 22. jQueryオートコンプリート:結果が得られません。何か案は?
- 23. JQuery UIオートコンプリートですべての結果が表示されない場合があります
- 24. Jqueryオートコンプリート - 入力ボックスに結果を入力しない
- 25. Select2 ajax処理結果
- 26. linuxコマンドの処理結果
- 27. JSON結果の処理
- 28. アンドロイドJSON結果処理
- 29. Jquery UIオートコンプリート - フォームフィールドではなくDIVを選択した結果
- 30. Java 8 Stream:フィルタ処理、結果処理、除外処理
hmmm nice idea thanks dude! –
万人のおかげで、ありがとうございます! –
ニース、私をたくさん助けました:D – Mert