我有两个md-select如下:
<div layout=column>
<md-input-container flex><label for=organizations>Organization</label>
<md-select ng-model="dg.selectedOrganization" name=organizations aria-label="Organizations" required>
<md-option ng-value=organization ng-repeat="organization in dg.organizations"> {{organization.title}} </md-option>
</md-select>
<div ng-messages=dg.myForm.organizations.$error>
<div ng-messages-include=messages/messages.html></div>
</div>
</md-input-container>
<md-input-container flex><label for=rules>Role</label>
<md-select ng-model="dg.selectedRule" name=rules aria-label="Rules" required>
<md-option ng-value=rule ng-repeat="rule in dg.selectedOrganization.rules"> {{rule.title}} </md-option>
</md-select>
<div ng-messages=dg.myForm.rules.$error>
<div ng-messages-include=messages/messages.html></div>
</div>
</md-input-container>
</div>
因此,当我从第一个md-select(组织)中选择一个值时,dg.selectedOrganization
将获得所选值,第二个md-select将根据所选值进行填充。然后当我在第二个md-select(规则)dg.selectedRule
中选择某些内容时,将获得所选值。
我遇到的问题是当我更改dg.selectedOrganization
时,dg.selectedRule
将始终具有旧值,直到我选择一个新值,通常dg.selectedRule
应为null,然后才选择任何更改dg.selectedOrganization
后的值。
我该如何解决这个问题?
答案 0 :(得分:0)
为dg.selectedOrganization select
添加onChange处理程序当onChange事件触发时,更新dg.selectedOrganization.rules并将dg.selectedRule设置为dg.selectedOrganization.rules中存在的值。如果要将其设置为空值,则需要确保选择中存在空值,或者您可以将其设置为第一个可用选项。