無限ページングを行うように設定された AJAX select2 ドロップダウン メニューがあります。私がやりたいことは、結果の最初のページをバックグラウンドでロードして、ユーザーがドロップダウンをクリックするとすぐに、最初の AJAX を待つのではなく、一連のオプションをすぐに利用できるようにすることです。電話。
これを行う方法を Google で検索すると、最初の選択を設定しようとする結果しか表示されません。これは私がやりたいことではありません。エンドポイントから結果の最初のページをプリロードして、ユーザーが AJAX 呼び出しが返されるのを待つ代わりにすぐにデータを表示するようにしたいだけです。これは可能ですか?
私のselect2セットアップコードは以下の通りです:
$(".my-class-identifier").select2({
ajax: {
cache: true,
dataType: "json",
delay: 500,
data: function(params, page) {
return {
name: params,
otherParams: $(this).data("other-params")
page: page
};
},
results: function(data, page) {
return {
/* The server returns no data after all the pages have been returned. */
more: data && data.length > 0,
results: data
};
},
type: "GET",
url: function() {
if ($(this).data("url")) {
return $(this).data("url");
} else {
return DEFAULT_ENDPOINT;
}
}
},
allowClear: true,
minimumInputLength: 0,
placeholder: "Search for some data..."
});