无法从 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; },
现在可以正常使用了。
我看到这个问题已经被问过几次了,但是 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; },
现在可以正常使用了。