2017-09-11 3 views
1

Ich verwende angularjs und Feder mvc für meine Anwendung. Zuerst zeige ich alle Placements mit einem Button Placed Candidates an. Ich mache ng-repeat für die Anzeige aller Placements.Angularjs ID in modale Funktion übergeben()

Hier ist mein 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> 

Ich rufe eine modale Popup-Funktion auf. Hier ist controller.js

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

Ich rufe modal mit dem Namen "placecandidates". Hier

ist die modale

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

Nach dem Einschalten Taste Popup-modal klicken, wird mit allen Studenten mit Kontrollkästchen Anzeige platziert neben them.Now Ich bin in der Lage StudentID in database.But Ich bin nicht in der Lage zu retten placementId passieren zum Speichern.

Hier ist meine savePlacementStudents Methode in 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); 
         } 
       }); 
    } 

Kann jemand sagen, wie kann ich jeweiligen placementId dieser saveStudents method() so passieren, dass ich ausgewählt einstellen können, dass placementId für die Studenten.

+0

Verwenden Sie jQuery nicht zum Öffnen des Modells. Injizieren Sie das ui-bootstrap-modal und verwenden Sie den angularjs-Weg https://angular-ui.github.io/bootstrap/ –

Antwort

1

Hier ist die Lösung.

Die placementId geben placedcandidatespopup funktionieren können gespeichert werden, wie in der Funktion folgt placedcandidatespopup

$scope.selectedPlacementId = placementId; 

Nun ist die gleiche $scope Zugang in Popup haben auch, wie es gleiche controller.js verwendet. Und jetzt können Sie diese $scope.selectedPlacementId überall in controller.js verwenden So müssen Sie nicht passieren placementId ... !!

Hoffe das würde dir helfen .. !!

+0

Hi.Wenn ich user.userId benutze, wird es mir StudentId geben. Aber ich muss placementId zum Speichern bekommen. Upto modal kann ich bekommen aber wie bekomme ich es zum speichern? –

+0

@Sachin HR .. Aktualisiert meine Antwort .. !! –

+0

selectedStudents.placementId = $ scope.selectedPlacementId. Kann ich das in der Methode savePlacementStudents() verwenden? –

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; 
           } 
          } 
      }); 

} 

Im Modell müssen Sie items.placementId Zugriff verwenden und wenn Sie savePlacementStudents() Methode placementId als auch mit Studenten Informationen senden.

+0

Ja danke für suggesting.Its funktioniert.Ich habe gerade übergeben ID von placecandidatedpopup zu saveStudents Methode() –

Verwandte Themen