为啥 select2 没有用最新数据填充控件?

Posted

技术标签:

【中文标题】为啥 select2 没有用最新数据填充控件?【英文标题】:Why the select2 is not populating the control with the latest data?为什么 select2 没有用最新数据填充控件? 【发布时间】:2019-10-24 12:46:37 【问题描述】:

我正在使用它进行渐进式搜索。

从技术上讲,它可以工作,但控件没有被返回的数据填充。

 $("#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 控件没有填充数据,为什么?

【问题讨论】:

【参考方案1】:

您需要通过循环响应来返回类似的内容 id: "值属性", text: "标签属性", 元素:HTMLOptionElement 参考 - https://select2.org/options

【讨论】:

以上是关于为啥 select2 没有用最新数据填充控件?的主要内容,如果未能解决你的问题,请参考以下文章

Select2动态数据设置

为啥输入类型 = 文件的更改没有用 `form.serialize()` 标识

将 Select2 和 X-Editable 与最新版本一起使用

如何使 select2 与 Angular 7 一起使用

在asp.net服务器控件上的Select2?

如果没有用minicom打开一次,则无法从串口读取