【发布时间】:2017-06-06 10:38:24
【问题描述】:
我在 ng-repeat 中的选择有问题,问题是我在 ng-repeat 中创建的每个选择都被禁用,如果我尝试打开下拉菜单,它不会显示选项。
选择是在 ng-repeat 中生成的,选择的数量和所有值都是 在 JSON 中。
我认为问题可能是选择的 ng-model,我必须动态分配一个 ng-model,但我不知道如何。
这是代码(我不包括获取 JSON 的服务,但它确实有效)
JSON
[
{
"Id":1,
"Name":"Tipo Fuga",
"Values":[
{
"Name":"Tipo Fuga",
"Value":"Week End in Famiglia",
"Id":10555
},
{
"Name":"Tipo Fuga",
"Value":"Fuga romantica",
"Id":10560
}
]
},
{
"Id":2,
"Name":"Localita",
"Values":[
{
"Name":"Localita",
"Value":"Al mare",
"Id":111
},
{
"Name":"Localita",
"Value":"In montagna",
"Id":112
}
]
},
{
"Id":3,
"Name":"Num Notti",
"Values":[
{
"Name":"Num Notti",
"Value":"1",
"Id":11076
},
{
"Name":"Num Notti",
"Value":"2",
"Id":11077
}
]
},
{
"Id":4,
"Name":"Tipo Soggiorno",
"Values":[
{
"Name":"Tipo Soggiorno",
"Value":"1 stella",
"Id":1100
},
{
"Name":"Tipo Soggiorno",
"Value":"2 stelle",
"Id":1101
}
]
}
]
HTML
<div ng-controller="ricercaAttivita">
<div ng-repeat="masterAttribute in masterAttributes">
<select ng-model="selected-attr" ng-options="attr.Id as attr.Value for attr in masterAttribute.Values">
</select>
</div>
</div>
控制器
tantoSvagoApp.controller("ricercaAttivita", function ($scope, $http, serviceRicercaAttivita) {
var parametersMaster = {"Id": master};
serviceRicercaAttivita.getMasterAttributes(parametersMaster,
successCallBackMasterAttributes);
function successCallBackMasterAttributes(result) {
$scope.masterAttributes = result;
}
});
编辑
我尝试做一件简单的事情,我在 div 中创建了一个带有静态选项的选择,当然它工作正常:
<div>
<select>
<option value="">TUTTE</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
</div>
如果我将 ng-repeat 指令放在 select 中不起作用,这意味着我无法打开下拉菜单然后选择选项。
<div ng-repeat="masterAttribute in masterAttributes">
<select>
<option value="">TUTTE</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
</div>
【问题讨论】:
-
将您的 ng-model 声明为数组并将您的 ng-model 更改为 selected-attr[$index] 并查看它是否有效?
标签: angularjs angularjs-ng-repeat