无法从 select2 中的下拉列表中获取 select 值 - #.Net

Not able to select values from dropdown in select2 - #.Net

我看到这个问题已经被问过几次了,但是 none 其中对我有用。所以我再次定位它,看看是否有人遇到过这样的事情。我在模型中有一个 select2,并且能够通过对 Api 进行 ajax 调用来填充它。直到这里它都像一个魅力,问题是我无法 select 任何值进入 'Code'。下面是我的 ajax 和 html

代码

/HTML/

<div class="col-lg-8 col-sm-7">
            <input id="procedureSelect" name="SelectProcedure" class="form-control">
        </div>

/*Ajax调用*/

$('#procedureSelect').select2({
            placeholder: 'Select Procedure',
            allowClear: true,
            quietMillis: 1000,
            ajax: {
                url: '@Url.Action("GetProcedures", "Procedure")',
                dataType: 'json',
                data: function (term, page) {
                    return {
                        searchTerm: term,
                        page: page
                    };
                },
                results: function (data, page) {
                    var more = (page * 25) < data.total;
                    return { results: data.procedureData, more: more };
                }
            },
            formatResult: function (data) {
                return '<div>' + data.procedure_code + " - " + data.short_description + '</div>';
            },

            formatSelection: function (data) {
                var result = data.procedureData;
                return result.procedure_code;
            }
        });

通过进一步研究,我终于找到了答案。 Thing is select2 期望返回的数据有一个唯一的 Id。所以 o 在我的 javascript 下面添加了一行代码来分配 Id

id: function (data) { return data.procedure_code; },

现在可以正常使用了。