Angularjs将id传递给模态函数()

时间:2017-09-11 05:00:48

标签: angularjs angularjs-ng-click

我正在为我的应用程序使用angularjs和spring mvc。起初我用一个按钮放置候选人显示所有的位置。我正在 <div class="row" data-ng-repeat="placement in placements"> <div class="col-xs-12 col-sm-12 col-md-12"> <h5>{{placement.companyName}}</h5> </div> <div class="col-xs-12 col-sm-6 col-md-3"> <h6>{{placement.placementDate | date:'dd MMM yyyy'}}</h6> Company Target (appox):10 Achieved: </div> <a href="javascript:void(0);" data-ng- click="placedcandidatespopup(placement.placementId);">//here i can get particular placementId but how to pass this id to savePlacementStudents() method in controller.js???// PlacedCandidates </a> </div> 显示所有展示位置。

这是我的HTML。

    $scope.placedcandidatespopup = function()
    {
    AdminUsersService.getAllUsers().then(function(response)
    {
        $scope.allusers=response.data;
        console.log($scope.allusers);
    })
    $(".placedcandidates").modal("show");
    }

我正在调用一个模态弹出功能。这是controller.js

    <div class="modal right fade placedcandidates" id="myModal1"
    tabindex="-1" role="dialog" aria-labelledby="myModalLabel2">
    <div class="modal-dialog" role="document">
    <div class="modal-content">
    <div class="modal-body">
    <div class="row">
    <div class="col-xs-12 col-sm-6 col-md-6" data-ng-
    repeat="student in allusers">
    <input id="{{student.studentId}}" type="checkbox" value="
    {{student.studentId}}" data-ng-
    checked="selection.indexOf(student.studentId) >-1" 
    data-ng-click="toggleSelection(student.studentId)"/> 
    <label for="{{student.studentId}}"></label>
    {{student.firstName}}
    </div>
    </div>
    </div>
    <div class="modal-footer" style="position: fixed;">
    <input type="button" value="Submit" class="btn" data-ng-
    click="savePlacementStudents()">
    </div>
    </div>
    </div>
    </div>

我通过名字“placementcandidates”来调用模态。

这是模态

placementId

点击按钮后弹出模式将显示所有学生的复选框放在他们旁边。现在我可以将studentId保存到数据库中。但是我无法通过savePlacementStudents进行保存。

这是controller.js中的 $scope.selectedStudents = {}; $scope.savePlacementStudents = function(selectedStudents) { selectedStudents.selectedList = $scope.selection; AdminPlacementService.savePlacementStudents(selectedStudents).then (function(response) { if(response.data=="success"){ $window.scrollTo(0,0); $scope.selectedStudents = {}; $scope.getplacementdetails($scope.currentPageIndex); $scope.successmessage="Student Selection Saved!; $timeout(function() { $scope.successmessage=""; $scope.closeplacedcandidatespopup(); }, 1500); } }); } 方法。

placementId

任何人都可以告诉我如何将相应的saveStudents method()传递给此placementId,以便我可以为所选的学生设置{{1}}。

2 个答案:

答案 0 :(得分:1)

这是解决方案。

传递给函数placementId的{​​{1}}可以在函数placedcandidatespopup中保存如下

placedcandidatespopup

现在,同样的$scope.selectedPlacementId = placementId; 也可以在Popup中访问,因为它使用相同的$scope。现在,您可以在controller.js中的任何位置使用此$scope.selectedPlacementId 所以你不需要通过controller.js ...... !!

希望能帮到你.. !!

答案 1 :(得分:0)

$scope.placedcandidatespopup = function(id)
    {
        AdminUsersService.getAllUsers().then(function(response)
        {
           $scope.allusers=response.data;
           console.log($scope.allusers);
        })


        $scope.inserted = {
                            placementId:id,
                        };

    var modalInstance = $uibModal.open({

                            templateUrl: 'views/test/myModal1.html',
                            controller: 'TestCntrl',
                            size: "Modelwidth",
                            resolve: {
                                items: function () {
                                    return $scope.inserted;
                                }
                            }
           });

}

在模型中,您必须使用items.placementId进行访问,当savePlacementStudents()方法发送placementId以及学生信息时。