1

静的データ セットを使用したフレンド ルックアップ検索にjQuery Autocomplete プラグインを使用しています(つまり、AJAX ルックアップ経由ではなく、フレンド配列がページに読み込まれています)。結果が見つからない場合に結果を挿入するようにプラグインを変更したいと考えてSearch for "Input Value" insteadいます。

そのような機能を追加する変更されたソースを持っている人はいますか?

4

2 に答える 2

2

responseコールバックを使用できます:

 $(function () {
     var list = [
         "a",
         "b"];
     $("#i").autocomplete({
         source: list,
         response: function (event, ui) {
             var results = ui.content;
             if (results.length === 0) {
                 results.push({
                     label: "Search for '" + $("#i").val() + "' instead"
                 });
             }
         }
     });
 });

これがフィドルです。

于 2013-01-18T00:48:11.197 に答える
0

source独自の関数を使用してオートコンプリートをカスタマイズできます。

$(elem).autocomplete({
    source: function (request, response) {
        var noResults = [ { label: 'Search for "Input Value"', value: -1 } ];
        try {
            var matcher = new RegExp( $.ui.autocomplete.escapeRegex( request.term ), "i" );
            var matchingFriends = $.grep(friendsArray, function(value) {
                // check if search token matches a friend
                if (matcher.test(value.username)) {
                    // add necessary properties for display in autocomplete
                    value.label = value.username;
                    value.value = value.id;
                    return true;
                }
                return false;
            });
            return matchingFriends;
        }
        catch (err) {
            response(noResults);
        }
        response(noResults)
    }
});

ソースコードをチェックして、これがjQuery-UIでどのように実装されているかを確認してください。

于 2013-01-18T00:40:11.653 に答える