我目前正试图将<select>
嵌入div
ng-repeat
类似的东西:
<li ng-repeat="item in items >
<div class="row">
<div class="col-xs-7">
<span ng-bind="item.Name"></span>
</div>
<div class="col-xs-4 modal-body--ul--li__dropdown_container">
<select ng-model="typemodel" >
<option ng-repeat="usertype in item.userGroups"></option>
</select>
</div>
<div class="col-xs-1">
<a ng-click="add(item)"></a>
</div>
</div>
</li>
在控制器中,我将项目添加到包含所选项目的新列表中。我还想将下拉列表中的值作为新值添加到控制器中的列表中。
$scope.add = function (item) {
//New value with the value from the dropdown
item.recipientType = typemodel;
$scope.selected.push(item);
};
清单:
$scope.items = [
{
"Name":"Name1",
"userGroups":[
{ "type": "gruop1" },
{ "type": "gruop2" },
{ "type": "group3" }
]
},
{
"Name":"Name2",
"userGroups":[
{ "type": "gruop1" },
{ "type": "gruop2" },
{ "type": "group3" }
]
}
]
简而言之,当我点击&#34;添加&#34;时,我需要从下拉列表中选择的值,这是当前类型模型的值。
这就是它现在的样子,但它不起作用。我知道我必须得到正确的模型,并且可能通过$ index跟踪项目列表,但是在搜索网络整天寻找解决方案后,我仍然卡住了!
感谢所有帮助。
-Thanks!
PS。如果问题中缺少某些内容,请发表评论,或者需要更多内容来解决此问题。
答案 0 :(得分:1)
首先,将下拉列表更改为
<select ng-options="usertype in item.userGroups" ng-model="item.recipientType">
然后,当您触发添加功能时,已设置项目的属性recipientType
。
$scope.add = function (item) {
console.log(item.recipientType);
$scope.selected.push(item);
};