Json 如何在dataTables';s列
我有来自数据库的JSON数据Json 如何在dataTables';s列,json,ajax,datatables,Json,Ajax,Datatables,我有来自数据库的JSON数据 0: {taught_id: "11", course_name: "English", grade_name: "2", section_name: "A", teacher_name: "Ali Khalil"} 1: {taught_id: "6", course_name: "Science", grade_name:
0: {taught_id: "11", course_name: "English", grade_name: "2", section_name: "A", teacher_name: "Ali Khalil"}
1: {taught_id: "6", course_name: "Science", grade_name: "2", section_name: "A", teacher_name: "Talha Ayub"}
2: {taught_id: "8", course_name: "Science", grade_name: "7", section_name: "A", teacher_name: "Talha Ayub"}
length: 3
__proto__: Array(0)
我正在使用AJAX和这个JSON数据创建一个dataTable,代码如下:
function show_assigned_table()
{
$.ajax({
url: "action.php",
type: "POST",
data: {action:"view_assigned_course_table"},
dataType: 'json',
success: function(data)
{
console.log(data);
$('#assign_table').dataTable({
data: data,
columns: [
{'data': 'course_name'},
{'data': 'teacher_name'},
{'data': 'grade_name'},
{'render': function(data){
return '<a id="replace_teacher" data-value = '+taught_id+' class="btn btn-outline-warning btn-sm" href="">Replace</a> <a id="remove_teacher" data-value = '+taught_id+' class="btn btn-outline-danger btn-sm" href="">Delete</a>';
}},
]
});
},
error: function(e)
{
alert("no");
}
});
}
您的问题在于渲染功能。有关详细信息,请参阅。参数的数量是错误的。正确的是:
function render( data, type, row, meta )
因此,您的教学id是行。教学id
您不能复制ID。它们必须是独一无二的。为了解决另一个问题,您可以将id与meta.row参数结合使用
片段:
var数据=[
{
“教学id”:“11”,
“课程名称”:“英语”,
“等级名称”:“2”,
“章节名称”:“A”,
“教师姓名”:“阿里·哈利勒”
},
{
“教学id”:“6”,
“课程名称”:“科学”,
“等级名称”:“2”,
“章节名称”:“A”,
“教师姓名”:“Talha Ayub”
},
{
“教学id”:“8”,
“课程名称”:“科学”,
“等级名称”:“7”,
“章节名称”:“A”,
“教师姓名”:“Talha Ayub”
}
];
函数显示分配的表(){
/*
$.ajax({
url:“http://localhost:63342/StackOverflow/1.json",
类型:“POST”,
数据:{操作:“查看分配的课程表”},
数据类型:“json”,
成功:功能(数据){
*/
$('#分配_表')。数据表({
数据:数据,
栏目:[
{'data':'course_name'},
{'data':'teacher_name'},
{'data':'grade_name'},
{'render':函数(数据、类型、行、元){
返回“”;
}}
]
});
/*
},
错误:函数(e){
警告(“否”);
}
})
*/
}
$(文档)。在(“单击”、“[id^=remove\u teacher]”上,函数(e){
e、 预防默认值();
var id=$(this.data('value');
log('console_id-->'+id);
/*
$.ajax({
url:“action.php”,
类型:“POST”,
数据:{操作:“删除指定的教师”,id:id},
成功:功能(响应)
{
response=response.trim();
控制台日志(响应);
如果(响应=‘确定’)
{
警告(“教师已成功从课程中移除!”);
$('#assign_table').DataTable().ajax.reload();
}
其他的
警报(“发生错误”);
}
});
*/
});
显示分配的表格()代码>
完全有道理!非常感谢你,在其他地方找不到像这样的。。。真的很有帮助,也提出了一个新的概念!
function render( data, type, row, meta )