Как установить значение по умолчанию на основе результатов ajax в ng-options?AngularJS ng-options Ajax default option option
<select ng-model="model.stuff" ng-options="o.name for o in options track by o.id"></select>
Затем в моем контроллере у меня есть
$http.get("myurl").then(
// On Success
function(response) {
$scope.options = response.data;
},
// On Error
function(error) {
console.log("ERROR");
}
);
Пример данные будут этот
[
{
"id": 1,
"name": "Foo"
},
{
"id": 2,
"name": "Bar"
}
]
Это прибудет срабатывают, когда другие вещи в моем контроллере включены, мой список выбора заполняет правильно , со всеми моими вариантами.
Но иногда мне нужно установить значение по умолчанию после загрузки данных ajax. Например, мне нужно загрузить id 1
из моего массива данных.
Это не значит для загрузки response.data[1]
Это означает, что я должен искать внутри response.data
и искать предмет, который имеет id: 1
. Это работает с этим методом
function getArrayIndex(key, source){
for (var i = 0; i < source.length; i++) {
if (source[i].id == key) {
return i;
}
}
}
Это скажет мне, что response.data[0]
имеет id: 1
, поэтому я хочу использовать это как моя по умолчанию выбрано значение, когда Ajax загружает мои данные.
Как я могу это достичь?
Я читал некоторые другие вопросы, но я не получил ничего работает ... Я попытался установить ng-init
со значением id
и со всей object
, но не работает ...