![](/img/trans.png)
[英]How to update the ng-model when using ng-options in Angularjs?
[英]AngularJS: ng-model does not update when ng-options refreshes
我是AngularJS的新手,所以我很抱歉这个问题很幼稚。
当您选择值时,我们会填充级联选择。 当选择A的值更改时,选择B中的值也会更改,因为它们基于选择A中的值进行过滤。
所以这是场景:
这似乎很基础,我们真的很难抓。 如果不解决此问题,双向数据绑定有什么意义?
这是我的看法:
<body ng-controller="MainCtrl">
Make:
<select ng-model="makeng" ng-options="option.value as option.display for option in makes">
<option ng-disabled="true" ng-selected="true" value="">Select a make</option>
</select>
<br />
{{makeng}}
<br /> <br />
Model:
<select ng-model="modelng" ng-options="option.display for option in models | filter:{make:makeng}">
<option ng-disabled="true" ng-selected="true" value="">Select a model</option>
</select>
{{modelng}}
</body>
这是一个Plunkr,演示: http ://plnkr.co/edit/9XrKgW?p=preview
PS上面的例子纯粹是虚构的,是从另一个笨蛋派生出来的。 展示我们所见所见的最简单方法。
这是应该如何工作的。 select
控件会根据用户的选择更改模型,但是如果您从其下方更改允许值集(即通过过滤),则它将保持模型完整。
进行此工作的方法是通过响应Select A
的更改使模型无效:
Make:
<select ng-model="makeng"
ng-options="option.value as option.display for option in makes"
ng-change="modelng = undefined">
<option value="">Select a make</option>
</select>
<br />
Model:
<select ng-model="modelng"
ng-options="option.display for option in models | filter:{make:makeng}">
<option value="">Select a model</option>
</select>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.