3

select2 プラグインを使用していますが、リクエスト ヘッダーに API キーを設定する必要があるため、トランスポート関数を使用して自分で ajax リクエストを実行する必要があります。しかし、これを行うとすぐに、select2 は結果を正しく応答し、必要に応じて書式設定して表示しますが、表示される結果は選択できません。それらをクリックすることも、矢印キーでそれらに移動することも、マウスでそれらの上に移動してもマウスオーバー効果はありません。

ここにいくつかのコードがあります(ユーザー名の提案を表示したい):

ajax: {
    data: function (term, page) {
        return {
            Searchtext: term
        };
    },

    transport: function(queryParams){
        // Api.Ajax delivers { Ajax: *the $.ajax object*, RequestId: *some requestId* }
        var req = Api.Ajax("/api/suggestion/share/" + queryParams.data.Searchtext, "POST", { UserOnly: true }, queryParams.success);

        return req.Ajax;
    },

    // parse the results into the format expected by Select2.
    results: function(resp, page) {
        return {
            results:    resp.Data,
            more:       false
        };
    }
},

私が言ったように、トランスポート関数を実装して独自の Ajax 関数を使用するとすぐに、ドロップダウン リストの結果はすべて表示されますが、選択できません。

これはバグですか、それとも何か間違っていますか?

4

1 に答える 1

-1

@thnewこの回答は、トランスポート機能を必要とせずにリクエストヘッダーを設定する方法を示します。

于 2015-03-01T13:21:28.227 に答える