我正在使用AngularUI Bootstrap模式對話框(下面的示例)。一旦模板打開,我想觸發一些jQuery事件。我正在使用modalInstance.opened方法,但獲取空對象。AngularJS Modal(ui.bootstrap.modal)打開模式後無法觸發jQuery事件(modalInstance.opened)
mycontroller.js
var app = angular.module('ui.bootstrap.demo');
app.controller('ModalDemoCtrl', function ($scope, $modal, $log) {
$scope.items = ['item1', 'item2', 'item3'];
$scope.open = function (size) {
var modalInstance = $modal.open({
templateUrl: 'mytemplate.html',
controller: 'ModalInstanceCtrl',
size: size,
resolve: {
items: function() {
return $scope.items;
}
}
});
modalInstance.result.then(function (selectedItem) {
// form submit. Works fine.
});
modalInstance.opened.then(function (selectedItem) {
// I want to trigger jQuery event on form element
// When I try to access $("form") I am getting empty object
});
}
});
app.controller('ModalInstanceCtrl', function ($scope, $modalInstance, items) {
$scope.form = {
name : "Default Name"
myItem : items[0]
}
$scope.ok = function() {
$modalInstance.close($scope.form);
};
});
mytemplate.html
<form>
<label>Name</label>
<input type="text" name="name" ng-bind="form.name" />
...
</form>
的jsfiddle興趣的人:http://jsfiddle.net/vugncsbt/1/ +1這是一個很好的問題。但是,如果我們知道您在做什麼,也許我們可以建議一種解決方法?你需要表單來從jQuery中激發一個自定義事件嗎? – soktinpk 2014-10-30 20:44:15
我必須做一個像$(「#myForm」)。validate(validationConfig)'這樣的jQuery表單驗證。由於我的應用程序的驗證已經寫入jQuery中,我必然會使用jQuery驗證而不是angularJS驗證 – user2300875 2014-10-30 20:56:26