【发布时间】:2018-11-12 01:12:12
【问题描述】:
我有一个具有两种“行为”的模式,一种用于创建新记录,另一种用于编辑现有记录,具体取决于单击哪个按钮(新建/编辑)。
当您单击编辑时,记录数据(用户表)将与子记录(权限表)“一起”加载。
在模态加载期间,select2被初始化:
let $select2user = $(".select2user");
$select2user.select2({
ajax: {
url: 'getUsersWithPermissions.php',
type: "GET",
dataType: 'json',
data: function (params) {
return {
search: params.term,
page: params.page || 1
};
},
processResults: function (data) {
data.page = data.page || 1;
return {
results: data.items.map(function (item) {
return {
id: item.id,
text: item.name
};
})
}
},
cache: true,
delay: 250
},
multiple: true
});
一切正常,除非我点击编辑记录。
使用注册数据正确填写了输入表单(模式),但是,我无法从子记录(权限表)中预先选择多个选项。
我尝试使用“附加”,但它最终会生成重复的选项。
$.each( value, function( permissions, permission ) {
console.log(permission['name']); // ok
let newOption = new Option(permission['name'], permission['id'], false, true);
$select2user.append(newOption);
});
$select2user.trigger('change');
【问题讨论】:
标签: jquery ajax jquery-select2