jquery - 为什么 select2 没有用最新数据填充控件?
问题描述
我正在使用它进行渐进式搜索。
从技术上讲,它可以工作,但控件没有被返回的数据填充。
$("#selUser").select2({
ajax: {
url: "/M01EngineeringData/GetFunctionalLocations",
type: "GET",
dataType: 'json',
delay: 250,
data: function (params) {
return {
search: params.term // search term
};
},
processResults: function (response) {
// alert(response);
return {
results: response
};
},
cache: true
}
});
html:
<div class="col-md-4 col-sm-12">
<div class="col-md-5">
<span class="Label_small_bold">Progressive Search :</span>
</div>
<div class="col-md-7">
<select id='selUser' style='width: 200px;'>
<option value='0'>- Search user -</option>
</select>
</div>
</div>
控制器:
public JsonResult GetFunctionalLocations(string search)
{
try
{
return Json(enggDataService.GetFunctionalLocations(search) , JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
throw;
}
}
该控制器以正确的格式返回数据。
["Test Func Location","Test Func Location","Test Func Location"]
但是 selUser 控件没有填充数据,为什么?
解决方案
你需要通过循环你的响应来返回这样的东西 { id: "value attribute", text: "label attribute", element: HTMLOptionElement } 参考 - https://select2.org/options
推荐阅读
- swiftui - SwiftUI ScrollView 在添加项目时滚动
- node.js - 在Angular中如何运行一个一个接一个命中后端的循环
- python - 检查是否按下特定键的最简单方法
- java - Java Swing 应用程序窗口 - 第二种形式显示为空
- flutter - 如何获得地图值颤动的长度
- vue.js - 与模态和发射功能一起使用时,beforeRouteLeave 不能立即工作
- webpack - Webpack BannerPlugin 创建单独的许可证文件
- assembly - 由于可能的内存冲突,组装时出现无限循环
- java - 将分配给 Spring 应用程序的最大线程数是多少?
- javascript - socket.io 上的 JSDOC 发射