我正在使用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