gpt4 book ai didi

javascript - 即使 Ajax 调用未在 Select2 中返回任何结果,也将值保留在输入中

转载 作者:行者123 更新时间:2023-12-03 11:36:21 24 4
gpt4 key购买 nike

我使用 Select2 插件作为输入框的自动完成功能。自动完成功能会进行 Ajax 调用,一切都运行良好,除非没有结果,否则我想保留该值,但这是行不通的。例如:如果我输入“555”并且在 Ajax 调用中找不到该值,那么我想将“555”保留为文本值,因为稍后我将点击按钮来添加它。

这是我的代码:

if ($codigo_arancelario.length > 0) {
$codigo_arancelario.select2({
placeholder: "Seleccione un estado",
ajax: {
dataType: 'json',
url: function () {
var codigo_arancelario = $codigo_arancelario.val();
return Routing.generate('obtenerCodigoArancelario');
},
data: function(codigo_arancelario) {
return {
filtro: codigo_arancelario
}
},
results: function (data) {
return {
results: data.entities
};
}
},
formatNoResults: function () {
return "No se encontró el código";
},
formatAjaxError: function () {
return "No hay conexión con el servidor";
},
});
}

这是一个直观的示例:

enter image description here

为了实现这一目标,我还需要做什么?

最佳答案

如果响应没有数据,为什么不通过响应处理这个问题,返回用于查询数据的原始值?

根据请求,这里是使用 C# 和 EF 搜索数据库结果的片段。请记住,这是一个非常简单的示例,说明您对 AJAX 调用所使用的服务一无所知。

    var searchResult = db.Where(x=> x.somethingToSearchAgainst == searchPeram);
return searchResult.length == 0
? searchPeram
: searchResult;

关于javascript - 即使 Ajax 调用未在 Select2 中返回任何结果,也将值保留在输入中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26492702/

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