Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 如何在dataTables';s列_Json_Ajax_Datatables - Fatal编程技术网

Json 如何在dataTables';s列

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:

我有来自数据库的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: "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>&nbsp;&nbsp;<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 )