gpt4 book ai didi

javascript - Select2 - 输入时启动 ajax 搜索

转载 作者:行者123 更新时间:2023-12-01 05:34:12 25 4
gpt4 key购买 nike

我有一个 Select2 输入,用于搜索(远程数据)。目前,它的工作原理如下:

当用户再输入 1 个字符时,我们会自动触发搜索

现在,有趣的部分:

我需要添加以下行为:

当用户专注于此输入并单击 Enter 按钮时,我需要使用一个字符“*”触发搜索,但实际上无需在输入中写入该字符。

它应该只发送带有字符 * 的搜索请求,但输入应保留为空。

在不弄乱 Select2 代码的情况下这是否可能?

我的代码:

$("#account").select2({
language: "en",
ajax: {
url: window.urls.ajax_account_search,
dataType: 'json',
delay: 500,
data: function(params){
console.log(params);
return {
query: params.term,
page: params.page
}
},
processResults: function(data, params){
return {
results: data.items
}
},
cache: true
},
escapeMarkup: function(m) { return m; },
templateResult: formatSearchResult,
templateSelection: formatSearchSelection,
minimumInputLength: 1
});

最佳答案

您可以在不存在搜索词时发送 *,而不是在输入时触发搜索(发送 *)。这也意味着放弃 minimumInputLength 要求,但这似乎与您正在寻找的内容一致。

$("#account").select2({
language: "en",
ajax: {
url: window.urls.ajax_account_search,
dataType: 'json',
delay: 500,
data: function(params){
return {
query: params.term || '*', // send * if there is no term
page: params.page
}
},
processResults: function(data, params){
return {
results: data.items
}
},
cache: true
},
escapeMarkup: function(m) { return m; },
templateResult: formatSearchResult,
templateSelection: formatSearchSelection
});

关于javascript - Select2 - 输入时启动 ajax 搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35054737/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com