Jquery 角度函数不是由datatable呈现的html触发的? { 针线:“回答正确”, mData:“回答正确”, sClass:“只读”, mRender:函数(数据、类型、对象){ return_string=“Confirm”; 返回字符串; } }, myc.controller('AdminController',['$scope','$route',函数($scope,$route){ $scope.updateCA=function(){ 控制台日志(“pop”); } $(文档).ready(函数(){ ini_table();//以上所有内容都在该函数中。 }); }

Jquery 角度函数不是由datatable呈现的html触发的? { 针线:“回答正确”, mData:“回答正确”, sClass:“只读”, mRender:函数(数据、类型、对象){ return_string=“Confirm”; 返回字符串; } }, myc.controller('AdminController',['$scope','$route',函数($scope,$route){ $scope.updateCA=function(){ 控制台日志(“pop”); } $(文档).ready(函数(){ ini_table();//以上所有内容都在该函数中。 }); },jquery,angularjs,datatables,Jquery,Angularjs,Datatables,我正在使用datatable来呈现按钮,这些按钮可能会触发函数updateCA。不幸的是,当我单击这些按钮时,什么都没有发生。没有错误或警告消息。我认为这可能是由于使用JQuery和Angular之间的作用域不同造成的。因此,我尝试使用$scope.$apply(function(){init_table()})不走运。试试这个 { sTitle: "ANSWER_CORRECT", mData:"A

我正在使用datatable来呈现按钮,这些按钮可能会触发函数updateCA。不幸的是,当我单击这些按钮时,什么都没有发生。没有错误或警告消息。我认为这可能是由于使用JQuery和Angular之间的作用域不同造成的。因此,我尝试使用
$scope.$apply(function(){init_table()})不走运。

试试这个

{
                        sTitle: "ANSWER_CORRECT",
                        mData:"ANSWER_CORRECT",
                        sClass: "readonly",
                        mRender: function(data, type, obj) {                             
                            return_string="<button type='button' ng-click='updateCA()'>Confirm</button>";
                            return return_string;
                        }

 },

myc.controller('AdminController',['$scope','$route',function($scope,$route){
      $scope.updateCA=function(){
               console.log("pop");
       }   

            $(document).ready(function() { 
                ini_table(); //everything above is in this function.

            });
    }
return_string="<button type='button' onClick='updateCA(); return false;'>Confirm</button>";
function updateCA() {
    var scope = undefined;
    //Controller in body element 
    //<body ng-controller="yourController" id="body"> id is important
    scope = angular.element(document.getElementById("body")).scope();
    scope.$apply(function () {
        scope.updateCA();
    });
}
$scope.updateCA = function() {
        //logic here
    };