NG重复中的不同ng模型
different ng-models in ng-repeat
我在AngularJS中遇到了一个问题!(我对AngularJS很陌生)
我正在尝试使用 x options
设置 n select fields
,我想在select fields
上有不同的ng-model
。
同时,我想禁用在所有其他select fields
的第一个选择字段中选择的选项。
我尝试过不同的东西。问题是我无法在 ng-repeat 中处理不同的模型
这是我的 JSON 文件,让事情更清楚一点:
[{
id: 1,
text: "Question1",
selected:false
}, {
id: 2,
text: "Question2",
selected:false
}, {
id: 3,
text: "Question3",
selected:false
}, {
id: 4,
text: "Question4",
selected:false
}, {
id: 5,
text: "Question5",
selected:false
}];
这是我的尝试之一。问题是我拥有的选择字段越多,它就越混乱。
我也发现了这个,但我无法让它适用于我的问题。
基本上,我需要的是这样的东西:
<select ng-change="onChange()" ng-options='q.value for q in questions | filter:{selected: false}' ng-model='option[$index]'><option value="">-- pick one --</option> </select>
但由于某种原因,$index没有被解释为当前索引,而是被解释为纯字符串。
您可以创建一组问题集。使用 ng-repeat,您可以使用同一组初始选项创建多个下拉列表。
<div ng-repeat="set in questionSets track by set.id">
<select ng-model="value" ng-options="question.id as question.text for question in set.questions" ng-change="remove($index+1, value);"></select>
<br><br>
</div>
使用 ng-change,您可以传入问题集的数组索引。然后,您可以从所有其他问题集中删除所选问题。
$scope.remove = function(key, val) {
_.each($scope.questionSets, function(s) {
if(s.id !== key) {
s.questions = _.reject(s.questions, function(q) {
return q.id=== val;
});
}
})
}
这不能处理用户在第一个下拉列表中多次更改选择的情况(因此从所有其他下拉列表中删除了多个选项),但您可以添加此一般想法。
http://plnkr.co/edit/XOTGEc8PfvbUTYIZcL7G?p=preview
相关文章:
- 角度无线电按钮ng模型不起作用
- ng模型内的ng重复的ng重复开始
- 将输入值设置为ng模型属性[Angular]时出现问题
- 自定义指令中的AngularJS ng模型
- 如何为动态创建的文本区域中输入的值更新ng模型
- ng重复中的ng模型-初始化唯一作用域属性
- ng重复变量到ng模型
- 初始化ng模型时,Angular ui选择占位符不起作用
- 角度去抖动(ng模型选项)不起作用
- 即使 ng 模型有值,也使输入字段为空
- 选择框中带有关联的ng模型,选项中带有ng重复
- 为什么我的指令(使用链接)没有出现,并允许ng模型看到它
- AngularJS+IE 11+聚合物=ng模型未更新
- ng模型在$(element).clone()之后不起作用
- 为什么ng选项指令需要ng模型
- 使用引导时间选取器时,没有更新数据ng模型值
- 具有ng重复的动态ng模型
- 有没有一种方法可以在设计模式下将ng模型或工厂绑定到iframe
- 删除ng模型中的ng模型输入值
- Angular.js默认选中不'不适用于ng模型