我是新的angularJs和我有一個應用程序,使用角模態和jqGrid。 (我知道這不好,但由於某種原因,我現在必須與兩個人一起工作)。Close angular modal
我的模態內容使用templateUrl加載。
<div ng-controller="SearchPerson as ctrl">
<div class="modal-body">
<table id="list"></table>
<div id="pager"></div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-link" data-dismiss="modal" ng-click="$close()">CLOSE</button>
<button type="button" class="btn btn-primary" ng-click="ctrl.CLOSE()">Save changes</button>
</div>
</div>
和創建我有這樣的代碼:
$(function() {
$("#list").jqGrid({
url: "/Home/List",
datatype: "json",
mtype: 'GET',
colNames: [" ", "FirstName", "LastName"],
colModel: [
{
width: 30,
sortable: false,
formatter: function (cellvalue, options, rowObject) {
return '<a href="javascript:ctrl.Select();">SELECT</a>';
},
},
{
name: "FirstName",
width: 60,
},
{
name: "LastName",
width: 90
}
],
jsonReader: {
page: "Page",
total: "Total",
records: "Records",
root: "Rows",
repeatitems: false,
cell: "cell",
id: "id",
userdata: "userdata",
},
pager: "#pager",
});
});
和開放模式我寫這篇文章的代碼:
angular.module('AngularModal', ['ui.bootstrap']);
angular.module('AngularModal').controller('ModalDemoCtrl', function ($scope, $modal) {
$scope.open = function (size) {
var modalInstance = $modal.open({
templateUrl: '/Home/SearchGrid',
controller: 'ModalInstanceCtrl',
size: size,
backdrop: 'static',
});
modalInstance.result.then(function() {
//
}, function() {
//
});
};
});
angular.module('AngularModal').controller('ModalInstanceCtrl', function ($scope, $modalInstance) {
$scope.ok = function() {
$modalInstance.close();
};
$scope.cancel = function() {
$modalInstance.dismiss('cancel');
};
});
angular.module('AngularModal').controller('SearchPerson', function ($http, $modalStack) {
});
我要的是:當我點擊Select鏈接我網格,警報FirstName,然後關閉模式。
如何做到這一點?
值得注意的是,當我點擊關閉按鈕,模式關閉。而且當我點擊「保存更改」按鈕時,模式將關閉。 但是,當我點擊SELECT鏈接,模式不會關閉。當我編寫雙擊SELECT和「Save Change」時,
我無法在此代碼中訪問$ compile。我得到這個錯誤:Uncaught ReferenceError:$ compile沒有定義 – Tavousi 2014-12-07 09:52:09
@Tavousi你需要將代碼封裝在指令中,然後你可以在代碼中注入'$ compile'服務。 – 2014-12-08 05:07:38