Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.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
Javascript JQuery DataTable向自定义按钮添加属性_Javascript_Jquery_Model View Controller_Datatables - Fatal编程技术网

Javascript JQuery DataTable向自定义按钮添加属性

Javascript JQuery DataTable向自定义按钮添加属性,javascript,jquery,model-view-controller,datatables,Javascript,Jquery,Model View Controller,Datatables,我正在尝试使用自定义按钮构建JQuery数据表。这是我的代码: <table id="myDataTable" class="display" width="100%"> <thead> <tr> <th> </th> <th>Company na

我正在尝试使用自定义按钮构建JQuery数据表。这是我的代码:

<table id="myDataTable" class="display" width="100%">
            <thead>
                <tr>      
                    <th> </th>                
                    <th>Company name</th>
                    <th>Address</th>
                    <th>Town</th>                             
                    <th></th>                                         
                </tr>
            </thead>
            <tbody>                
            </tbody>
        </table>
    </div>
</div>
这段代码工作正常,但现在我想向按钮添加
数据id
属性。我想为每行设置
ID字段
(我隐藏了该字段)的值为
数据ID
属性。我如何实施它


<script>
    $(document).ready(function () {

        $('#myDataTable').dataTable({
            "bServerSide": true,
            "sAjaxSource": "Home/GetDataTable",
            "bProcessing": true,
            "fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
                // if your button is in 5th column then index will be 4 because it starts from 1
               $('td:eq(4)', nRow).find( 'button' ).attr('id',aData[0]); 
               //assuming your id is in the 1st element of data

            },
            "aoColumns": [
            {"data": "ID"},
            { "data": "Name" },
            { "data": "Address" },
            { "mData": "Town" },           
            {
                 bSortable: false,
                 data: null,
                 className: "center",
                 defaultContent: '<button class="btn btn-danger data-id="" ">edit</button> <button class="btn btn-primary">delete</button>'
             }
            ],
            "columnDefs": [
           {
               "targets": [ 0 ],
               "visible": false,
               "searchable": false
           },          
            ]      
        });
    });
</script>
$(文档).ready(函数(){ $(“#myDataTable”).dataTable({ “bServerSide”:正确, “sAjaxSource”:“Home/GetDataTable”, “bProcessing”:正确, “fnRowCallback”:函数(nRow、aData、iDisplayIndex、iDisplayIndexFull){ //如果按钮位于第5列,则索引将为4,因为它从1开始 $('td:eq(4'),nRow).find('button').attr('id',aData[0]); //假设您的id位于数据的第一个元素中 }, “aoColumns”:[ {“数据”:“ID”}, {“数据”:“名称”}, {“数据”:“地址”}, {“mData”:“Town”}, { 可移植:错误, 数据:空, 类名:“中心”, defaultContent:“编辑删除” } ], “columnDefs”:[ { “目标”:[0], “可见”:假, “可搜索”:false }, ] }); });
您好,您能测试一下这个代码吗:

         {
                bSortable: false,
                data: null,
                render: function(d) {
                    return "<button class="btn btn-danger data-id="'+ d.YourModelID +'" ">edit</button> <button class="btn btn-primary">delete</button>";
                },
                className: "center",
            }
{
可移植:错误,
数据:空,
渲染:函数(d){
返回“编辑删除”;
},
类名:“中心”,
}
与此相反:

         {
             bSortable: false,
             data: null,
             className: "center",
             defaultContent: '<button class="btn btn-danger data-id="" ">edit</button> <button class="btn btn-primary">delete</button>'
         }
{
可移植:错误,
数据:空,
类名:“中心”,
defaultContent:“编辑删除”
}

谢谢您的帮助。因此,如果我想为每个按钮设置“数据id”,我需要这样做:$('td:eq(4)”,nRow)。find('button').attr('data-id',aData[0]);我说的对吗?这个答案需要解释一下。这里通常不赞成只使用代码的答案。是的,is所做的是选择索引为4的td,它在tr上下文中是第5个td,在该td中它找到按钮,然后向该按钮添加属性。:)
         {
                bSortable: false,
                data: null,
                render: function(d) {
                    return "<button class="btn btn-danger data-id="'+ d.YourModelID +'" ">edit</button> <button class="btn btn-primary">delete</button>";
                },
                className: "center",
            }
         {
             bSortable: false,
             data: null,
             className: "center",
             defaultContent: '<button class="btn btn-danger data-id="" ">edit</button> <button class="btn btn-primary">delete</button>'
         }