首页 > 解决方案 > 数据表选定的行获得未定义的值

问题描述

我是使用数据表的新手,并且在处理大量数据的数据表中具有良好的适应性。我已经阅读了文档,但仍然没有得到答案,太多的例子让我混淆了哪一个适合我的问题。

所以,我试图生成可以编辑所选行的值的按钮,但我认为每行都做一个按钮很复杂,我通过生成每个按钮的超链接文本使它更简单,并且可以编辑采用所选行 ID 的所选行.

问题是当我成功地为每一行生成链接时,行的 id 是undefined

在评论代码名称上尝试 1,我的表没有显示并长时间保持处理,评论代码名称尝试 2,我的表工作,但是当我点击编辑时,值未定义

这是我的代码:

     $(document).ready(function(){
            var dataTable = $('#empTable').DataTable({
                'processing': true,
                'serverSide': true,
                'serverMethod': 'post',
                'ajax': {
                    'url':'ajaxfile.php',
                    'data': function(data){
                        var gender = $('#searchByGender').val();
                        var name = $('#searchByName').val();
                        data.searchByGender = gender;
                        data.searchByName = name;
                    }
                },
                'columns': [
                    { data: 'id' },
                    { data: 'nama' },
                    { data: 'grade' },
                    { data: 'dept' },
                    { data: 'id' },
                    { data: 'id',
                        render: function(data, type, row, meta)
                        {
                            //try 1 :
                            //var data = table.row( this ).data().id;
                            //return '<a href="../../action/edit_1.php?id='+data+'">edit</a>';
                            
                            //try 2 :
                            //var i = row[0];
                            //return '<a href="../../action/edit_1.php?id='+i+'">edit</a>';
                        }
                    },
                ]
            });

undefined ID Image通常这应该是 ID ie:2200085 而不是 undefined

任何帮助将不胜感激,对不起,如果问题只是范围很小,但我认为那里有很多人和我一样的问题。谢谢你。

标签: javascriptmysqldatatable

解决方案


您在列 [] 之后缺少一步。

$(document).ready(function(){
            var dataTable = $('#empTable').DataTable({
                'processing': true,
                'serverSide': true,
                'serverMethod': 'post',
                'ajax': {
                    'url':'ajaxfile.php',
                    'data': function(data){
                        var gender = $('#searchByGender').val();
                        var name = $('#searchByName').val();
                        data.searchByGender = gender;
                        data.searchByName = name;
                    }
                },
                'columns': [
                    { data: 'id' },
                    { data: 'nama' },
                    { data: 'grade' },
                    { data: 'dept' },
                    { data: 'id' },
                    { data: 'id',
                        render: function(data, type, row, meta)
                        {
                            //try 1 :
                            //var data = table.row( this ).data().id;
                            //return '<a href="../../action/edit_1.php?id='+data+'">edit</a>';
                            
                            //try 2 :
                            //var i = row[0];
                            //return '<a href="../../action/edit_1.php?id='+i+'">edit</a>';
                        }
                    },
                ],
             createdRow: function ( row, data, index ) {
                    $(row).attr('title','Category ID : '+data[0]);
                    $(row).attr('id',data[0]);
                    $(row).click(function(){
                        alert(this.id+' is clicked');
                });
              }
            });

推荐阅读