gpt4 book ai didi

javascript - select2.js v4.0如何显示ajax数据?

转载 作者:行者123 更新时间:2023-11-29 10:39:35 25 4
gpt4 key购买 nike

我正在使用 select2 v4.0 https://select2.github.io/在一个 asp mvc 项目中,我想显示一个来自动态数据的简单下拉列表

3.6 版本的旧方法不再适用:

我有一个 C# 方法:

public JsonResult GetSrcMethod()
{
var list = new[]
{
new { id= 0, text= "Smith" },
new { id= 1, text= "John" },
new { id= 2, text= "Philippe" },
}.ToList();

Object json = JsonConvert.SerializeObject(list);
return Json(json, JsonRequestBehavior.AllowGet);
}

因此,返回的数据是:

[{"id":0,"text":"Smith"},{"id":1,"text":"John"},{"id":2,"text":"Philippe"}]

我有一个在以前的 3.6 版本上工作的 javascript 代码:

$(".example-select2").select2({
ajax: {
dataType: 'json',
url: '@Url.Action("GetSrcLanguages", "GetCheckSet")',
results: function (data) {
return {results: data};
}
}
});

它呈现一个空的下拉列表,显示“未找到结果”

你知道v4.0怎么做吗?

最佳答案

Idid 不同, JavaScript 对象的属性区分大小写。同样适用于Texttext同样,您想使用全小写版本。

public JsonResult GetSrcLanguages()
{
var list = new[]
{
new { id = 0, text = "Smith" },
new { id = 1, text = "John" },
new { id = 2, text = "Philippe" },
}.ToList();

Object json = JsonConvert.SerializeObject(list);
return Json(json, JsonRequestBehavior.AllowGet);
}

另外,ajax.results方法重命名为 ajax.processResults在 4.0.0 中避免与具有现有 results 的 AJAX 传输冲突方法。所以你的 JavaScript 实际上应该看起来像

$(".example-select2").select2({
ajax: {
dataType: 'json',
url: '@Url.Action("GetSrcLanguages", "GetCheckSet")',
processResults: function (data) {
return {results: data};
}
}
});

关于javascript - select2.js v4.0如何显示ajax数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31505428/

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