ng-click 在 ajax 数据表 + codeigniter 中不起作用
Posted
技术标签:
【中文标题】ng-click 在 ajax 数据表 + codeigniter 中不起作用【英文标题】:ng-click not working in ajax datatable + codeigniter 【发布时间】:2018-12-11 12:43:07 【问题描述】:我有一个案例,带有选项编辑和删除数据的 CRUD 数据。但我有约束 ng-click=() 不能在控制器 ajax_list() 调用中工作:
这是我的代码:
用户控制器(CI)
public function ajax_list()
$lists = $this->model_user->get_datatables();
$data = array();
$no = $_POST['start'];
$nomor = 1;
foreach($lists as $key => $item)
$no++;
$row = array();
$row[] = $item->username;
$row[] = '<a type="button" class="btn btn-xs btn-warning" href="#/editUser/'.$item->kode_user.'" title="Edit" ><i class="fa fa-pencil" ></i></a>
<button type="button" class="btn btn-xs btn-danger" ng-click="deleteUser()" title="Hapus"><i class="fa fa-trash"></i></button>';
$data[] = $row;
$output = array(
"draw" => $_POST['draw'],
"recordsTotal" => $this->model_user->count_all(),
"recordsFiltered" => $this->model_user->count_filtered(),
"data" => $data
);
echo json_encode($output);
script.js(angularjs)
var inticafeApp = angular.module('inticafeApp', ['ngRoute']);
inticafeApp.config(function ($routeProvider, $locationProvider)
$locationProvider.hashPrefix('');
$routeProvider
.when('/',
templateUrl: 'dashboard/index',
controller: 'dashboardController'
)
.when('/user',
templateUrl: 'masterdata/user',
controller: 'userListController'
)
);
inticafeApp.controller('userListController', function ($scope)
$scope.deleteUser = function ()
// $http.post(siteUrl + "masterdata/user/delete" + id).success(function (response) alert('yes'))
alert('a');
)
在 $row[] 我从 php 渲染 html 但 ngclick 不起作用。
你能帮帮我吗?
【问题讨论】:
***.com/questions/14242455/… @sintakonte,我认为那篇文章不太合适,因为我的数据表是服务器端 这就是问题所在——我很确定你的角度控制器在你获取数据之前就已经初始化了——因此角度不可能触发这个点击事件——你需要一个指令或类似的东西——可能最好使用一些库 - 看看这里l-lin.github.io/angular-datatables/archives/#!/welcome 【参考方案1】:尽量避免将 PHP 用于 HTML 输出。如果你用 trustAsHtml
或类似的东西添加它,它不会被 angularjs 编译。最好只返回数组中的$item->kode_user
,然后使用ng-repeat 在页面上打印出来。
【讨论】:
以上是关于ng-click 在 ajax 数据表 + codeigniter 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Angularjs ng-click:如何获取`this`数据?
将 onclick/ng-click 事件附加到网格数据绑定事件中的元素