如何解决select2物料的返回位置,而不是物料ID
我正在使用select2来允许用户选择多个选项。除了一个令人沮丧的问题,一切都工作正常。
我第一次单击“保存”按钮以保存项目,它可以工作。但是,在随后的调用中,这些项目的ID将替换为这些项目的位置。例如,如果我选择了ID 3、6和10,则第一个Save将起作用,并将3,6,10传递给控制器。
但是,如果我重新加载视图并单击“保存”,则会传入数字0,1,2(即,它们在选择中的相对位置)。
代码如下:
首先,HTML:
<select id="selectGroup" class="form-control" multiple="true">
在$(document).ready上:
// Load Groups
$("#selectGroup").select2({ placeholder: 'Select' });
$.ajax({
url: ROOT_URL + "Group/GroupList",type: "GET",success: function (data) {
let dropdown = $('#selectGroup');
dropdown.empty();
dropdown.append($('<option></option>').attr('value',0).text("(Select)"));
$.each(JSON.parse(data),function (key,entry) {
dropdown.append($('<option></option>').attr('value',entry.GroupID).text(entry.GroupName));
})
},error: function (passparams) {
Notify(passparams,"Unexpected Error Loading Groups","error");
}
});
最后是保存的js(通过传递借贷ID的按钮调用):
function LoangroupSave(loanID) {
var grpIDs = '';
[].forEach.call(document.querySelectorAll('#selectGroup :checked'),function (elm) {
grpIDs += elm.value + ',';
})
var editURL = location.protocol + '//' + location.host + "/Loan/LoangroupSave";
//alert(editURL);
var obj = { "LoanID": loanID,"GroupIDs": grpIDs };
alert(JSON.stringify(obj));
$.ajax({
type: "POST",url: editURL,data: JSON.stringify(obj),contentType: "application/json; charset=utf-8",dataType: "json",}).done(function (response) {
if (response.success) {
Notify("Group(s) information has been saved","Saved","success",false,"toast-top-right",5000);
}
else {
OpenPopupGeneral("Error(s)",response.message);
}
}).fail(function (jqXHR,textStatus,errorThrown) {
OpenPopupGeneral("Unexpected Error(s)","Error = " + errorThrown);
});
}
解决方法
发帖给相同错误的人。
问题在我的负担中-我需要添加GroupID作为键,而不是键参数值中的行号:
success: function (data) {
$.each(JSON.parse(data),function (key,entry) {
var $newOption = $("<option selected='selected'></option>").val(entry.GroupID).text(entry.GroupName);
$("#selectGroup").append($newOption).trigger('change');
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。