значение параметра углового набора в качестве итерации массива с помощью ng-select

0

Из контроллера:

$scope.form_data = {
    day: 'Day'
};

$scope.days = [
    'Day',1,2,3,4,5,6,7,8,9,10,
    11,12,13,14,15,16,17,18,19,20,
    21,22,23,24,25,26,27,28,29,30,
    31
];

Из html:

<select ng-model="form_data.day" ng-options="day for day in days"></select>

Результаты:

<select ng-options="day as day for day in days" ng-model="form_data.day" class="ng-pristine ng-valid ng-touched">
   <option value="string:Day" label="Day" selected="selected">Day</option>
   <option value="number:1" label="1">1</option>
   <option value="number:2" label="2">2</option>
....
</select>

Это здорово.. но я не могу понять из документов, как установить значение параметра в качестве ключа массива, т.е. Из приведенного выше примера, значение первого параметра должно быть 0, т.е. Первое pos. в массиве.

Возможно ли это с ng-опциями?

Теги:
arrays

2 ответа

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

Да, возможно, вы были почти там.

См. Первый ответ этого сообщения. Поместите индекс в модель с параметрами ng для простого массива.

Ваш выбор:

<select 
        ng-model="form_data.day" 
        ng-options="days.indexOf(day) as day for day in days"></select>

Я написал пример: https://jsfiddle.net/w7jdktxn/1/

  • 0
    ах ха! конечно большое спасибо: D
0

никогда не делал этого, но это то, что вы спросили!

        <div ng-init="days = [1,2,3,4,5]">
            <select ng-model="form_data.day" class="ng-pristine ng-valid ng-touched">
                <option value="" disabled selected style="display: none;">Select day</option>
                <option ng-repeat="day in days" value="{{$index}}" >{{day}}</option>
            </select>
            <h3>form_data.day={{form_data.day}}</h3>
        </div>
  • 0
    Так что это невозможно с ng-options?
  • 0
    ничего плохого в повторении вариантов. использовать это
Показать ещё 1 комментарий

Ещё вопросы

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