我正在处理简单的客户表信息,如下所示: 姓名和年龄。
我创建了一个允许用户添加新客户的函数,并且运行良好。
我还创建了一个弹出窗口,我想从弹出窗口添加新客户。我的弹出窗口工作正常。但是,我无法从此弹出窗口添加新客户。
这是代码笔:
http://codepen.io/HenryGranados/pen/OyPyNW
这是我的代码,运行得很好
var App = angular.module('sortApp', ['ui.bootstrap'])
App.controller('mainController', function($scope, $modal, $log, $filter) {
$scope.sortType = 'id'; // set the default sort type
$scope.sortReverse = false; // set the default sort order
$scope.searchPerson = ''; // set the default search/filter term
// Array - List of People
$scope.People = [
{ id: 1, name: 'Mike', Lastname: 'White', age: 26 },
{ id: 2, name: 'Carl', Lastname: 'Barns', age: 41 },
{ id: 3, name: 'Deb', Lastname: 'McDonals',age: 78 },
{ id: 4, name: 'Tommy', Lastname: 'Humbs', age: 32 }
];
/*
This function adds a new customer
*/
$scope.addPerson = function(){
var customer = {
name: $scope.name,
Lastname: $scope.Lastname,
age: $scope.age,
};
$scope.People.push(customer);
};
/*
This function removes a customer
*/
$scope.removePerson = function(index){
$scope.People.splice(index, 1);
};
$scope.openPopupScreen = function() {
var modalInstance = $modal.open({
template: '<div class="modal-header"> <a class="close" data- dismiss="modal" ng-click="cancel()">X</a><h1>Add Customer</h1></div><div class="modal-body"> <form >' +
' <label>Name:</label><input type="text" class="span3" ng-model="name"></br>' +
' <label>Lastname:</label><input type="text" class="span3" ng-model="Lastname"></br>' +
' <label>Age:</label><input type="number" class="span3" ng-model="age"></br>' +
' <button type="submit" class="btn btn-success" ng-click="addPerson()">Add In List</button>' +
' <button type="reset" class="btn ">Clear</button>' +
' </form>' +
'</div>' +
'<div class="modal-footer">' +
' <a data-dismiss="modal" aria-hidden="true" class="btn btn-primary" ng-click="cancel()">close</a>' +
'</div>',
controller: ModalInstanceCtrl
});
};
var ModalInstanceCtrl = function($scope, $modalInstance) {
$scope.ok = function() {
$modalInstance.close($scope.selected.item);
};
$scope.cancel = function() {
$modalInstance.dismiss('cancel');
};
};
});
</script>
请帮助我。太感谢了!!。
最佳答案
将您的 add
函数放入模态 Controller 中,然后为其提供一个要绑定(bind)的对象并返回到一个函数,该函数会将其添加到您的列表中。
modalInstance.result.then(function (newPerson) {
$scope.People.push(newPerson);
});
var ModalInstanceCtrl = function($scope, $modalInstance) {
$scope.person = {name: '', Lastname: '', age: ''};
....
$scope.add = function() {
//Pass newPerson to caller from main controller
$modalInstance.close($scope.person);
};
};
关于javascript - 如何使用 AngularJs 从弹出窗口将客户添加到表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32380824/