我有ui-select2下拉列表取决于父母的选择。我为第一个ui-select2提供了一系列选项,然后当从该下拉列表中选择某些内容时,将显示下一个下拉列表。第二个下拉列表的可用选项取决于第一个下拉列表中选择的内容。 ng-repeat指令迭代一系列选择。这是html和js代码。
HTML:
<select name="application" placeholder="Select a Tenant"
ng-disabled="!sharedObj.tenantApplications ||
sharedObj.tenantApplications.length == null"
class="form-control" id="application"
ng-change="vmOrderItem.vmNameUSI=null" ui-select2
ng-model="vmOrderItem.tenantApplication" title="Select tenant application"
data-style="btn-default" required><option></option>
<option ng-repeat="tenantApplication in sharedObj.tenantApplications |
filter:tenantFilter()" value="{{tenantApplication.id}}">{{tenantApplication.name}}
</option>
</select>
JS:
/** Filters the tenant depending on what domain is selected */
$scope.tenantFilter = function(tenantApplication) {
$scope.sharedObj.tenantApplications;
tenantApplication.name;
tenantApplication.id;
return true;
/* return $scope.vmOrderItem.domain.id == tenantApplication.domainId;*/
}
我得到的问题是即使我返回true,也没有任何东西出现在下拉列表中。我这样做是为了测试逻辑。我不知道为什么tenantApplication参数在函数中总是未定义的。我使用谷歌浏览器检查元素插入一个断点,它抱怨参数是未定义的。但是,当我回归真实时,我不明白为什么它不能正常工作。我是JavaScript和AngularJS的新手,所以非常感谢任何帮助。我已经完成了所有AngularJS示例并阅读了他们的文档,但我还只是一个初学者。
答案 0 :(得分:2)
认为这应该是:
<option ng-repeat="tenantApplication in sharedObj.tenantApplications |
filter:tenantFilter" value="{{tenantApplication.id}}">