select lista na której wartości bedą pochodzić z modelu a nie będą generowane przez angulara

0

W angularze mam tylko wyświetlanie danych z modelu i walidację, natomiast przesyłanie danych po zatwierdzeniu formularza chcę żeby było bez pośrednictwa angulara z normalnym przeładowaniem strony, w związku z tym żeby po stronie serwera odebrać prawidłowe dane to potrzebuję select listy na której wartości options będą pochodzić z modelu a nie będą to wartości: 0, 1, 2, 3... generowane przez angulara i jak znalazłem służy do tego track by i jest ok, jednak nie wiem jak wybrać na select liście opcję ze wskazaną przeze mnie wartością = 101, w tym momencie nie jest wybierana na select liście opcja:
<option value="101" label="Phone 1">Phone 1</option>
jak ja wybrać?

Mój kod:


<div ng-controller="PhoneListCtrl">
        <select ng-options="phone.Text for phone in phones track by phone.Value" ng-model="selectedPhoneId"></select>
</div>

<script>

    var model = {"SelectedPhoneId":101,"Phones":[{"Selected":false,"Text":"Phone 1","Value":"101"},{"Selected":false,"Text":"Phone 2","Value":"102"},{"Selected":false,"Text":"Phone 3","Value":"103"}]};

    var phoneApp = angular.module('phoneApp', []);

    phoneApp.controller('PhoneListCtrl', function ($scope) {
        $scope.phones = model.Phones;
        $scope.selectedPhoneId = model.SelectedPhoneId; //jak dam model.Phones[0] to działa, ale ja tak nie chce
    });
</script>
0

W przypadku Twojego JSONa to będzie wyglądało mniej więcej tak:

<select ng-options="phone.Value as phone.Text for phone in phones track by phone.Value" ng-model="selectedPhoneId"></select>
var model = 
  {"SelectedPhoneId":{"Value":101},
  "Phones":
  [
    {"Selected":false,"Text":"Phone 1","Value":101},
    {"Selected":false,"Text":"Phone 2","Value":102},
    {"Selected":false,"Text":"Phone 3","Value":103}
  ]
  };

Spróbuj jeszcze popracować nad tą strukturą danych, myślę że dałoby się ją jakoś ulepszyć. Nie bardzo rozumiem, czemu masz SelectedPhoneId i jednocześnie właściwość Selected przy obiekcie Phone?

1 użytkowników online, w tym zalogowanych: 0, gości: 1