gpt4 book ai didi

jquery - 选择2 : Trim entered text and if empty - prevent sending Ajax requests

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

我正在使用 Select2 和 Ajax 来加载远程数据(建议)。

一切正常,但有一个问题:当用户仅输入空格(通过按空格键)时 - 正在发送 Ajax 请求。

如何防止这种情况发生?另外,我想在发送之前修改条款。

$(".js-data-example-ajax").select2({
placeholder: "Select... ",
minimumInputLength: 3,
ajax: {
url: "/my-site/tags",
dataType: 'json',
data: function (params) {
return {
q: params.term
};
},
processResults: function (data) {
return {
results: data
};
},
cache: true
}

编辑:

我忘了提及我已经尝试过这样的事情:

        data: function (params) {
if (params.term.trim().length < 2) {
return;
}
return {
q: $.trim(params.term)
};
},

并且 GET (Ajax) 请求仍然发送。

最佳答案

您可以使用data函数检查搜索term的长度(修剪后),如果长度<3则返回:

data: function (params) {
if (params.term.trim().length < 3) {
throw false;
}
return {
q: params.term.trim()
};
},

我试图从 data 函数内部获取 minimumInputLength 的值,但未能成功,因此您应该将此数字写入两次。

更新

我能够停止请求的唯一方法是在 data 函数内抛出异常。我知道这可能不是一个好的选择,但它确实有效。

我还发现了一个关于此问题的公开票证:https://github.com/select2/select2/issues/1637所以我猜还没有这样的选择。

关于jquery - 选择2 : Trim entered text and if empty - prevent sending Ajax requests,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40443903/

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