Angularjs:如何获取模态的值并将其设置为当前页面

时间:2015-11-15 04:44:48

标签: angularjs

我有一个表,每行都有一个用户名和角色输入框。我想要做的是当用户单击每行中的打开模态按钮时。模态将显示,他可以选择他喜欢的所有者级别。例如,他选择owner 1并点击按钮Get info。当前页面行会将owner 1设置为ng-model="row.role"Admin将成为“所有者1或2或3”。

我的问题是我不知道如何传递getInfo to my ng-model的价值。有人可以帮我解决这个问题吗?感谢

这是我的小提琴:http://jsfiddle.net/RLQhh/2968/

我小提琴中的示例代码:

var mymodal = angular.module('mymodal', []);

mymodal.controller('MainCtrl', function ($scope) {
$scope.showModal = false;
$scope.toggleModal = function () {
    $scope.showModal = !$scope.showModal;
};
$scope.users = [{
    'id': 1,
        'username': 'ady',
        'role': 'Admin'
}, {
    'id': 2,
        'username': 'tiu',
        'role': 'Admin'
}, {
    'id': 3,
        'username': 'ert',
        'role': 'Admin'
}];

$scope.setRole = [{
    'id': '1',
    'Owner': 'Owner 1'
}, {
    'id': '2',
    'Owner': 'Owner 2'
}, {
    'id':'3', 'Owner': 'Owner 3'
}];

$scope.getInfo = function(item){
    alert(item);

}

2 个答案:

答案 0 :(得分:0)

好的,首先,在控制器中添加另一个变量

$scope.currentId=0;

然后点击这样打开模态按钮:

<td> <button ng-click="toggleModal(row.id)" class="btn btn-default">Open modal</button></td>

然后toggleModal必须改变如下:

$scope.toggleModal = function (cid) {
    $scope.showModal = !$scope.showModal;
    $scope.currentId=cid;
};

最后getInfo改变了这种方式:

$scope.getInfo = function(item){
    alert(" id:"+item.id + "\r\n " + item.Owner);
    $scope.users[$scope.currentId-1].role=item.Owner;

}

答案 1 :(得分:0)

这是一个工作小提琴:

http://jsfiddle.net/tjs81sy2/        ....

传入ng-repeat中选择的行,单击获取信息时换出值                              打开模态               

mymodal.controller('MainCtrl', function ($scope) {
$scope.showModal = false;
$scope.toggleModal = function (row) {
    $scope.showModal = !$scope.showModal;
    $scope.getInfo = function(item){
        row.role = item.Owner 
    }
};
$scope.users = [{
    'id': 1,
        'username':
   ...