У меня есть следующий выбор, который заполнен всеми странами мира, у меня есть контроллер Angularjs, который вызывает метод, который возвращает мне idCountry
одной из тех стран, где переменная idCountry
является идентификатором объекта, а не индексом позиции, которую объект принимает в выборе.Как выбрать опцию select в элементе Angularjs, который заполнен ng-опциями
Мне нужно предварительно выбрать эту страну в списке, используя idCountry
, есть ли способ получить индекс, который этот объект имеет при выборе, используя идентификатор объекта, я прочитал несколько статей, в которых говорится, что это может быть сделано с использованием track by
в выражении ng-options, но я не знаю, как это сделать.
Если мне удастся получить индекс я мог заранее выбрать вариант, как этот
$scope.countriesSelect = $scope.countriesSelect[put here the select index that I can find]
Вот мой выбор
<select name="selectCountries" class="form-control"
id="selectCountries"
ng-model="selectCountries"
ng-options="country.name for country in countryList track by country.idCountry"
ng-change=""
required>
</select>
и вот что я пытался делать в контроллере
var idCountry = id;
$scope.selectCountries= $scope.selectCountries[idCountry]
EDIT
Я отредактировал мой код, я прочитал похожие вопросы, но большинство вопросов касательно того, как инициализировать выбор по умолчанию, я пытаюсь сделать страницу редактирования, где пользователь может проверить все значения, которые он поставил во время его регистрации, и он может редактировать их так, этот выбор нужно инициализировать со значением, которое он выбрал.
я могу получить идентификатор любого объекта списка объектов
здесь список объектов, которые населяет мой выбор
[{idCountry: 2, name: countryName}, {idCountry: 4, name: AnothercountryName}, {idCountry: 7, name: rockyCOuntry}]
У меня есть метод, который возвращает мне idCountry
и я хочу знать, есть ли способ получить индекс выбора, используя этот idCountry
, или помещая некоторое выражение в мое выражение ng-options
, например, используя track by
или что-то в этом роде.
Я попробовал этот $scope.selectCountries= $scope.selectCountries[idCountry]
, но это не вернет мне правильную страну, если я ставлю 7
вместо установки выберите в rockyCOuntry он устанавливает выбор в другой стране, я считаю, что это потому, что идентификатор объекта списка Безразлично 't соответствует одному и тому же индексу выбора, который занимает этот объект.
Не следует ng-model = "selectCountries" быть ng-model = "countriesSelect"? – jbrown
Здесь есть множество подобных вопросов .... в том числе *** *** В правой части этой страницы. Ваши ng-опции выбирают только имя, ng-model не соответствует контроллеру, и вы устанавливаете объект в контроллере. Не уверен, что вы хотите – charlietfl
@charlietfl Я отредактировал мой вопрос –