Установка выбранного значения в угловом выборе

0

Angularjs 1.5.5

У меня есть простой Select который отлично работает:

    <select ng-model="selectedPart">
        <option ng-repeat="optionPart in parts"  value="{{optionPart.Id}}">{{optionPart.Title}}</option>
    </select>

Когда я устанавливаю id как строку, Select делает это правильно:

 $scope.selectedPart = "1";

Когда я устанавливаю его в Int из объекта, никаких изменений не происходит.

 $scope.selectedPart = $scope.parts[0].Id;

Почему Int не обновляет Select но string делает, и как я могу заставить его работать?

Теги:

2 ответа

2
Лучший ответ

Попробуй так вот

<select ng-model="selectedPartId"
    ng-options="part.Id as part.Title for part in parts">
</select>

Обратите внимание, что я изменил модель, чтобы отразить, что вы выбор id, а не в parts записи.

Если вы хотите связать объект, попробуйте это

<select ng-model="selectedPart"
    ng-options="part.Title for part in parts track by part.Id">
</select>

Затем вы можете назначить его через $scope.selectedPart = $scope.parts[0];

0

Есть два способа, которыми вы можете это сделать:

1. $scope.parts = [{
                        id: 2,
                        Title: 'XX'
                    }, {
                        id: 5,
                        Title: 'XXXX'
                    }, {
                        id: 8,
                        Title: 'XXVVV'
                    }];

                    $scope.selectedPart = $scope.parts[1];

                    <select ng-options="part as part.Title for part in parts track by part.id" ng-model="selectedPart"></select>

2. $scope.parts = [{
                        id: 2,
                        Title: 'XX'
                    }, {
                        id: 5,
                        Title: 'XXXX'
                    }, {
                        id: 8,
                        Title: 'XXVVV'
                    }];

                    $scope.selectedPart = $scope.parts[1].id;

                    <select ng-options="part.id as part.Title for part in parts" ng-model="selectedPart"></select>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню