Wie bekomme ich $index aus einer ng-repeat-Tabelle, um eine modal-controller?

Ich habe eine Tabelle Kunden-Datensätze erstellt, die mit angularjs bootstrap-ui und Verwendungen, von ng-repeat.

Am Ende jeder Zeile in der Tabelle ist ein button, um mehr Informationen über den Kunden.

Wenn die Schaltfläche geklickt wird, wird ein modales Formular öffnet mit den Informationen.

mein problem ist, egal welche Taste ich drücke, bekomme ich die gleiche Kundennummer

Das problem ist, ich brauchen, um den Wert von $index die folgende Stück code:

$scope.selected = {
    customer: $scope.customers[0]
};

Ist der Wert von $index ersetzt werden muss der Wert 0 über

Was ich bisher getan habe, werden auf plunker klicken Sie auf hier

<div ng-controller="ModalDemoCtrl">
<script type="text/ng-template" id="myModalContent.html">
  < div class = "modal-header" > < h3 > I am a modal! < /h3>
    </div > < div class = "modal-body" > < form class = "form-horizontal"
  role = "form" > < div class = "form-group" > < label
  for = "customerNumber"
  class = "col-lg-2 control-label" > Email Address: < /label>
            <div class="col-lg-10">
                <input type="text" class="form-control" id="customerNumber" 
                        ng-model="selected.customer.customerNumber"
                        ng-value="selected.customer.customerNumber">
            </div > < /div>
        </form > < /div>
    <div class="modal-footer">
        <button class="btn btn-primary" ng-click="ok()">OK</button > < button class = "btn btn-warning"
  ng - click = "cancel()" > Cancel < /button>
    </div >
</script>
<div>
  <table class="table table-striped">
    <thead>
      <tr>
        <th>Customer number</th>
        <th>Customer name</th>
        <th>Customer last name</th>
        <th>Customer first name</th>
        <th>phone</th>
      </tr>
    </thead>
    <tbody ng-repeat="customer in customers">
      <tr>
        <td>{{ customer.customerNumber }}</td>
        <td>{{ customer.customerName }}</td>
        <td>{{ customer.contactLastName }}</td>
        <td>{{ customer.contactFirstName }}</td>
        <td>{{ customer.phone }}</td>
        <td>
          <button class="btn btn-default" ng-click="open()">
            Customer details
          </button>
        </td>

      </tr>
    </tbody>
  </table>
</div>
</div>


'use strict';

angular.module('myApp', ['ui.bootstrap'])
.controller('ModalDemoCtrl', function ($scope, $modal, $log) {


$scope.customers = [
    {
        "customerNumber": 103,
        "customerName": "Atelier graphique",
        "contactLastName": "Schmitt",
        "contactFirstName": "Carine ",
        "phone": "40.32.2555"

    },
    {
        "customerNumber": 112,
        "customerName": "Signal Gift Stores",
        "contactLastName": "King",
        "contactFirstName": "Jean",
        "phone": "7025551838"

    },
    {
        "customerNumber": 114,
        "customerName": "Australian Collectors, Co",
        "contactLastName": "Ferguson",
        "contactFirstName": "Peter",
        "phone": "03 9520 4555"
    }
];

$scope.open = function () {

    var modalInstance = $modal.open({
        templateUrl: 'myModalContent.html',
        controller: ModalInstanceCtrl,
        resolve: {
            customers: function () {
                return $scope.customers
            }
        }
    });

    modalInstance.result.then(function (selectedCustomer) {
        $scope.selected = selectedCustomer;
    }, function () {
        $log.info('Modal dismissed at: ' + new Date());
    });
};
});

//Please note that $modalInstance represents a modal window (instance) dependency.
//It is not the same as the $modal service used above.

var ModalInstanceCtrl = function ($scope, $modalInstance, customers) {

$scope.customers = customers;
$scope.selected = {
    customer: $scope.customers[0]
};

$scope.ok = function () {
    $modalInstance.close($scope.selected.customer);
};

$scope.cancel = function () {
    $modalInstance.dismiss('cancel');
}
}

InformationsquelleAutor Laurence | 2014-07-22

Schreibe einen Kommentar