如何将列表作为参数传递给对话框?

时间:2014-09-25 15:47:30

标签: javascript html5 angularjs twitter-bootstrap-3 angular-ui-bootstrap

Y必须将数据列表传递给对话框以填充组合框。 在代码的其他部分,我将一个字符串传递给对话框,但是,对于这种情况使用相同的方法,它不起作用。

这是我的js代码:

$scope.addPartido = function () {
    if ($scope.dataProv.locationsProv.provincias) {
        $modal.open({
            templateUrl: '../../secure/addPartido/addPartidoDialog.html',
            controller: function ($scope, $modalInstance) {
                $scope.close = function () {
                    $modalInstance.close();
                };
            }
        });
    }
};

在我的控制器中,我有变量$ scope.dataProv.locationsProv.provincias填充de数据。

这是我的HTML代码:

<div class="modal-dialog">
    <div class="modal-content">
        <div class="modal-header">
            <label>Provincia<span class="text-danger">*</span></label>
            <div class="dropdown">
                <select ng-options="item.name for item in dataProv.locationsProv.provincias| orderBy:'name'" 
                        ng-id="mySelProvincia" class="form-control" required="required"
                        ng-model="selectedProv">
                </select>
            </div>
        </div>

        <div class="modal-footer">
            <button type="button" class="btn btn-default" ng-click="close()">
                Cerrar
            </button>
        </div>
    </div>
</div>

1 个答案:

答案 0 :(得分:0)

很容易!

此代码完美无缺:

$scope.addPartido = function () {
    if ($scope.dataProv.locationsProv.provincias) {
        $modal.open({
            templateUrl: '../../secure/addPartido/addPartidoDialog.html',
            controller: function ($scope, $modalInstance, listProv) {
                $scope.statusProv = 'loading...';
                    $scope.provincia = "Select provincias";
                    $scope.dataProv = {
                        "locationsProv": {}
                    };

                    $scope.dataProv.locationsProv.provincias = listProv;
                $scope.close = function () {
                    $modalInstance.close();
                };
            }, 
            resolve: {
                    listProv: function () {
                        return $scope.dataProv.locationsProv.provincias;
                    }
                }
        });
    }
};