Javascript 如何使用angularjs区分HTML选择选项?
我有一个用于选择标记的HTML,代码如下:Javascript 如何使用angularjs区分HTML选择选项?,javascript,html,angularjs,Javascript,Html,Angularjs,我有一个用于选择标记的HTML,代码如下: <div ng-controller="Models"> <select ng-model="myModel" ng-options="Model.name for Model in Models" class="form-control"></select> {{ {selected_Model:myModel.name} }} {{ {selected_Model:myModel.id} }}
<div ng-controller="Models">
<select ng-model="myModel" ng-options="Model.name for Model in Models" class="form-control"></select>
{{ {selected_Model:myModel.name} }} {{ {selected_Model:myModel.id} }}
</div>
我希望它只显示myModel.id==1
我怎么做 我认为这个问题需要更多的解释 您的意思是仅当model.id==1时,才为模型中的每个模型显示select吗 您可以使用筛选器来完成此操作,当模型写入选择框中的页面时,此筛选器将检查它们是否具有.id==1,如果为TRUE,则允许将其写入选择框中 然而,我可以想象,这意味着选择框中只有1项,因为对象中的重复id是坏消息
angular.module('YOURAPPNAME', [])
.filter('myModelFilter', function() {
return function(myModel) {
if (myModel.id == 1) {
return myModel;
}
};
})
<div ng-controller="Models">
<select ng-model="myModel" ng-options="Model.name for Model in Models | myModelFilter" class="form-control"></select>
{{ {selected_Model:myModel.name} }} {{ {selected_Model:myModel.id} }}
</div>
编辑:p.s
在您的控制器模型和模型中调用控制器和对象是令人困惑的,我建议您选择不同的命名约定,因为AngularJS是一个MVF框架,无论术语“模型”的含义与您使用它的目的有什么不同 您可以在HTML端本身使用过滤器并严格检查true,如模型中模型的ng options=Model.name |过滤器:{id:1}:true 加价
<div ng-controller="Models">
<select ng-model="myModel" class="form-control"
ng-options="Model.name for Model in Models | filter: {id: 1}: true" >
</select>
{{ {selected_Model:myModel.name} }} {{ {selected_Model:myModel.id} }}
</div>