Я знаю, что этот вопрос задавался раньше, но ни один из ответов не помог с моим требованием.
У меня есть кусок кода
<select ng-change = "loadHomePage()" ng-model = "selectedPage" ng-options = "x for x in pages"></select>
И мой javascript выглядит примерно так:
for (var i = 1; i<=response.data.pages; i++)
{
$scope.pages.push(i);
}
Моя проблема в том, что каждый раз, когда я запускаю этот код, он дает мне пустую опцию. Это нормально, я могу отключить его от просмотра,
<option value = "" hidden>
Но моя ng-модель такова, что после того, как я выберу опцию, значение сбрасывается до пустого значения по умолчанию, то есть null.
Я хочу воспользоваться выбранной мной опцией и оставить для ng-model это значение. Так что для меня это не меняет ценности.
Я подумал, что могу ввести здесь другую переменную, которая может хранить значение selectedPage, поэтому не имеет значения, изменится ли значение выбранной страницы, но было бы здорово, если бы кто-нибудь мог сказать мне, есть ли прямой путь.
@VipulSolanki Привет, Випул! Я уже проверял этот ответ, но не смог найти то, что хотел!
попробуйте это: $scope.selectedPage = $scope.pages[0] после цикла
Тогда чего ты хочешь?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Прежде всего хочу сказать, что попробуйте использовать angular.forEach и избежать цикла for.
Тоже не понимаешь свою логику $scope.pages.push(i);, значит толкают индекс? .
Замените ответ ниже и дайте мне знать, если это не то, что вам нужно.
angular.forEach(response.data.pages, function(value, key) {
if (value != ''){
$scope.pages.push(value);
}
}, $scope);
Возможный дубликат Angular JS Удалить пустую опцию из опции выбора