2015-06-03 2 views
0

Я использую следующее строительство для ng-options:Как установить значение параметра вместо индекса массива в ng-опциях?

ng-options="month.id as month.value for month in data.dateList.years" 

Это дает мне selcet список со значением:

<option value="0" label="2016">2016</option> 

Как я могу установить вместо 2016 value = "0" для каждого варианта?

+1

Не могли бы вы показать нам, что ваш 'data.dateList.years' выглядит? – NicolasMoise

+0

'data.dateList.years' содержит 2015 – Faud

+0

классный, так что вы получаете, когда вы делаете' console.log (data.dateList.year) '? – NicolasMoise

ответ

0

Вместо month.id использование month.value

ng-options="month.value as month.value for month in data.dateList.years" 
+0

По-прежнему не работает – Faud

+0

@Faud - атрибут 'value' не отражает фактическое значение в инспекторе, если именно так вы его проверяете. – tymeJV

+0

Но я могу установить 'ng-model' как:' ng-model = "2015" ', и он whold выбирает опцию со значением 2015, – Faud

0

Попробуйте использовать month.value вместо month.id в вашем ng-options

1

HTML

<div ng-app="myapp"> 
    <fieldset ng-controller="FirstCtrl"> 
     <select 
      ng-options="month.value as month.value for month in year track by month.value" 
      ng-model="selectedValue"></select> 
     <br/> 
     Month is: {{ selectedValue }} 
    </fieldset> 
</div> 

JS

var myapp = angular.module('myapp', []); 
myapp.controller('FirstCtrl', function ($scope) { 
    $scope.year = 
    [{id: 1, value: "January"}, 
     {id: 1, value: "February"}]; 
}); 

JSFIDDLE, чтобы он работает

+0

Это не то, что мне нужно. 'ng-model =" selectedValue "' будет целочисленным 'id' – Faud

+0

Установите' selectedValue' в 1. Возможно выбрать январь – Faud

+0

@Faud Я не понимаю, какое значение вы хотите в selectedValue. Можете ли вы показать нам свои данные.dateList.years? –

Смежные вопросы