数据表 columnDefs 不工作:jquery / javascript

datatables columnDefs not working: jquery / javascript

我的数据表完美加载,除了 columndef 不起作用。 有人知道吗? 请帮忙。我只想向第 1 列中的每个单元格添加一个点击事件。我也没有收到任何错误。 它在本示例中的最后一列中有效...https://datatables.net/examples/ajax/null_data_source.html

var table =  $mytable.DataTable( {            
            "serverSide": true,
            "ajax": {
                "url": url_string,
                "cache": true,
                "columnDefs": [ 
                {"targets": 1,"data": null,"defaultContent": "<button>Select Image ID</button>"} ,  

                ]
            },
        });

找到了一个很棒的 post 堆栈溢出,这真的很有帮助。 并更改它以适合我这是 post Edit jQuery Datatable fields

这就是我为我工作的内容。我过于关注 API 而较少关注 Jquery。诀窍是在 "drawCallback":

之后执行 jquery

归功于@Jeromy French

var table =  $spr_cnt_tbl.DataTable( {            
            "serverSide": true,
            "ajax": {
                "url": url_string,
                "cache": true,
                "columnDefs": [ 
                {"targets": 1,"data": null,"defaultContent": "<button>Select Image ID</button>"} ,  

                ]
            },
            "drawCallback": function( settings ) {
            apply_label();
            }
        });

        var apply_label=function(){
        $spr_cnt_tbl.find("td:nth-child(2)").not(':has(.label)').each(function(){
        if( this.innerHTML===""){
            $(this).wrapInner("<button class=btn btn-success id='sel_img' type='button'>Select Image</button>");
        }
        else {
            $(this).wrapInner('<span class="label label-success"></span>');
        }
        });
        };
    });
});