我有一个JSON数组,我在其中创建Dropdown并使用ng-model
$scope.repeats = [{
'title': 'Never',
'value': 'Never'
}, {
'title': 'Daily',
'value': 'Daily'
}, {
'title': 'Weekdays (M-F)',
'value': 'Weekdays'
}, {
'title': 'Weekly',
'value': 'Weekly'
}, {
'title': 'Monthly',
'value': 'Monthly'
}, {
'title': 'Yearly',
'value': 'Yearly'
}, {
'title': 'Hourly',
'value': 'Hourly'
}, {
'title': 'Minutely',
'value': 'Minutely'
}];
$scope.def_sele = $scope.repeats[0]
在视图中:
<select ng-model="def_sele" ng-options="repeat.title for repeat in repeats"></select>
从上面的代码中,默认选定的下拉列表是Daily
。直到这里一切都很好。
但我正在创建一个TODO应用程序,其中每个TODO都有不同的选择(Never, Daily
等...来自上面$scope.repeats
)
那么,如何为每个TODO设置默认值?????因为我给出的上述示例适用于每个地方并且我在每个TODO上选择Daily
,但我想为每个TODO选择不同的不同,如何做到????
更新
我的代码就像:
<ul ng-repeat="todo in todos_detail">
<select ng-model="todo.dropdown_position_index" ng-options="repeat.title for repeat in repeats"></select>
</ul>
在上面的示例中,每个todo
都有不同的dropdown_position_index
,因此我希望使用selected = selected
下拉列表为todo.dropdown_position_index
。
答案 0 :(得分:2)
您需要确保在<select>
中选择的值与所选todo
中的值对齐。
我没有看到您的代码,所以I put together a working example in jsbin。
基本理念是:
<select ng-model="X" ng-options="x.A as x.B for x in Z"></select>
其中:
只要数组Z
中有一个对象x
,其中属性x.A
等于X
,就会选中它。
...或者是一个不那么混乱的答案,check the code example。 ;)
祝你好运
答案 1 :(得分:0)
给出示例对象结构
$scope.todos = [{
'title': 'Weekly',
'value': 'Weekly'
}, {
'title': 'Yearly',
'value': 'Yearly'
}];
你可以做这样的事情
<div ng-repeat="todo in todos">
<select ng-model="todo.value" ng-options="repeat.value as repeat.title for repeat in repeats"></select>
</div>