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

Angularjs passing id into modal function()

我正在为我的应用程序使用 angularjs 和 spring mvc。一开始我用一个按钮 Placed Candidates 显示所有展示位置。我正在做 ng-repeat 以显示所有展示位置。

这是我的html。

    <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>

我正在调用一个模态弹出函数。这里是controller.js

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

我正在按名称调用模态"placedcandidates"。

这是模态

    <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>

单击按钮弹出模式后将显示所有带有复选框的学生 them.Now 我可以将 studentId 保存到 database.But 我无法通过 placementId 进行保存.

这是我在 controller.js 中的 savePlacementStudents 方法。

    $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

这是解决方案。

传递给函数placedcandidatespopupplacementId可以在函数placedcandidatespopup

中保存如下
$scope.selectedPlacementId = placementId;

现在相同的 $scope 也可以在 Popup 中访问,因为它使用相同的 controller.js。现在你可以在 controller.js 的任何地方使用这个 $scope.selectedPlacementId 所以你不需要通过 placementId...!!

希望对您有所帮助..!!

$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 以及学生信息时。