如何解决数据表-altEditor和select2
对于添加,删除和更改数据,我使用DataTable-AltEditor
modelOption和groupOption已成功加载。 呈现给现场模型和小组工作良好。 image
但是当我调用“编辑”或“添加”时,可以选择或更改“模型”已满足,但是“组”为空并且没有任何数据。 image
有什么主意吗?
下面的代码
devicesTable.js
let modelOptions;
let groupOptions;
$(document).ready(function () {
$.ajax({
type: 'GET',url: getContextPath() + '/front/api/printers/getmodels',async: false,contentType: "application/json",dataType: 'json',success: function (json) {
modelOptions = json;
},error: function (e) {
alert("Can't load models.");
}
});
$.ajax({
type: 'GET',url: getContextPath() + '/front/api/printers/getgroups',success: function (json) {
groupOptions = json;
},error: function (e) {
alert("Can't load groups\");
}
});
var columnDefs = [
{
data: "modelId",title: "Model",type: "select",options: modelOptions,select2: {
width: "100%",},render: function (data,type,row,meta) {
if (data == null || !(data in modelOptions)) return null;
return modelOptions[data];
}
},{
data: "printerGroupId",title: "Group",option: groupOptions,select2: {
width: "100%",meta) {
if (data == null || !(data in groupOptions)) return null;
return groupOptions[data];
}
},{
data: "printer.name",title: "Серийный номер"
}
]
;
var table = $('#usersTable').DataTable(
{
"sPaginationType": "full_numbers",ajax: {
url: getContextPath() + '/front/api/printers/getprinters',dataSrc: ''
},columns: columnDefs,dom: 'Bfrtip',// Needs button container
select: 'single',responsive: true,altEditor: true,// Enable altEditor
buttons: [{
text: 'Add',name: 'add' // do not change name
},{
extend: 'selected',// Bind to Selected row
text: 'Change',name: 'edit' // do not change name
},// Bind to Selected row
text: 'Delete',name: 'delete' // do not change name
},{
text: 'Refresh',name: 'refresh' // do not change name
}],
getprinters.json
[{"mppgId":1,"modelId":1,"model":{"id":1,"name":"Q3X-Ф"},"printerId":1,"printer":{"id":1,"name":"0000000000000000007","active":true},"printerGroupId":1,"printerGroup":{"id":1,"name":"Custom#1"}},{"mppgId":2,"printerId":2,"printer":{"id":2,"name":"0000000000000000001",{"mppgId":3,"printerId":3,"printer":{"id":3,"name":"0000000000000000002",{"mppgId":4,"printerId":4,"printer":{"id":4,"name":"0000000000000000003",{"mppgId":5,"printerId":5,"printer":{"id":5,"name":"0000000000000000004",{"mppgId":6,"printerId":6,"printer":{"id":6,"name":"0000000000000000005","name":"Custom#1"}}]
getmodels.json
{"1":"Q3X-Ф","6":"VKP-80 RF","7":"TCD"}
getgroups.json
{"1":"Custom#1","2":"Custom#2","7":"Custom#3","8":"Custom#A","9":"(empty)"}
device.html
<!DOCTYPE html>
<div class="container">
<table cellpadding="0" cellspacing="0" border="0" class="dataTable table table-striped" id="usersTable">
解决方法
我发现问题字段option
不正确(必须为options
)
{
data: "printerGroupId",title: "Group",type: "select",option: groupOptions,select2: {
width: "100%",},render: function (data,type,row,meta) {
if (data == null || !(data in groupOptions)) return null;
return groupOptions[data];
}
},
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。