我正在使用它进行渐进式搜索。
从技术上讲,它可以工作,但控件没有填充要返回的数据。
$("#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
}
});
目录:
<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: "值属性", 文本:"标签属性", 元素:HTMLOptionElement}指-https://select2.org/options