[英]Angular JS dropdown list is not showing value to ng-selected=“selected”
I'm new to AngularJS, facing problem with ng-option
, selected='selected'
is not showing in the combobox. 我是AngularJS的新手,面对ng-option
问题,在组合框中没有显示selected='selected'
。
Below is the select HTML element and data source: 下面是选择HTML元素和数据源:
<select class="form-control" id="numberOfRows" ng-model="prefferedLanguage"
ng-change="changePreference(prefferedLanguage)">
<option my-repeat="language in sirCommonService.LOVData.LanguagePreference" value="{{language.LanguageISOCode}}"
ng-selected="{{language.IsDefault == true}}">
{{language.LanguageName}}
</option>
</select>
sirCommonService.LOVData.LanguagePreference : sirCommonService.LOVData.LanguagePreference :
"LanguagePreference": [
{
"LanguageISOCode": "EN",
"LanguageName": "English",
"IsDefault": true
},
{
"LanguageISOCode": "FR",
"LanguageName": "French",
"IsDefault": false
}
]
I want to set combo box value depending on the Property "IsDefault" of the Model on page Load. 我想设置组合框值,具体取决于Load页面上Model的属性“IsDefault”。 But it is not working. 但它没有用。
Generated HTML is: 生成的HTML是:
<select class="form-control ng-pristine ng-valid ng-empty ng-touched" id="numberOfRows" ng-model="prefferedLanguage" ng-change="changePreference(prefferedLanguage)"><option value="? undefined:undefined ?"></option>
<!-- ngRepeat: language in sirCommonService.LOVData.LanguagePreference --><option my-repeat="language in sirCommonService.LOVData.LanguagePreference" value="EN" ng-selected="true" ng-repeat="language in sirCommonService.LOVData.LanguagePreference" class="ng-binding ng-scope" selected="selected">
English
</option><!-- end ngRepeat: language in sirCommonService.LOVData.LanguagePreference --><option my-repeat="language in sirCommonService.LOVData.LanguagePreference" value="FR" ng-selected="false" ng-repeat="language in sirCommonService.LOVData.LanguagePreference" class="ng-binding ng-scope">
French
</option><!-- end ngRepeat: language in sirCommonService.LOVData.LanguagePreference -->
</select>
The best way to handle the select is by using the select directive with ngOptions 处理select的最佳方法是使用带有ngOptions的select指令
https://docs.angularjs.org/api/ng/directive/select https://docs.angularjs.org/api/ng/directive/ngOptions https://docs.angularjs.org/api/ng/directive/select https://docs.angularjs.org/api/ng/directive/ngOptions
<select ng-options="item as item.label for item in items track by item.id" ng-model="selected"></select>
I had the same problem as you before. 我遇到了和以前一样的问题。 Its just not working well with ngRepeat and options. 它与ngRepeat和选项不兼容。
i've just created a plnkr here: https://plnkr.co/edit/rCQzEhojZP0iHvoI1KlO?p=preview 我刚刚在这里创建了一个plnkr: https ://plnkr.co/edit/rCQzEhojZP0iHvoI1KlO ? p = preview
you should use select with ng-options , something like this 你应该使用带有ng-options的select,就像这样
<select
ng-model="defaultlanguage"
ng-options="lan.LanguageISOCode for lan in LanguagePreference">
</select>
ng-selected directive takes an expression as a parameter. ng-selected指令将表达式作为参数。 So, change your code as following : 因此,请按以下方式更改代码:
ng-selected="language.IsDefault == true"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.