我试图按照Angular 1.4.12文档中的示例和我在此处找到的内容,仍然无法为选择菜单设置默认值。
我的HTML(使用controller as
的{{1}}):
mob
正确地给了我一个菜单:
我的json是一个对象数组:
<select name="userCurrencyType"
ng-model="mob.currencyType"
ng-options="s.name + ' - ' + s.code for s in mob.currencyTypes"></select>
我希望默认菜单项是第一项(USD)。我尝试将[{ "code": "USD", "name": "United States Dollar" },
{ "code": "GBP", "name": "United Kingdom Pound" }...]
设置为ng-model
并在控制器中将其设置为:
mob.currencyType
和
_this.currencyType = _this.currencyTypes[0];
这两种方法都没有给我一个默认值集。我错过了什么?
经过其他用户的一些好建议,以及一些实验,似乎问题是我的数据服务调用没有返回承诺:
_this.currencyType = { "code": "USD", "name": "United States Dollar" }
所以我添加了
_this.currencyTypes = MockDataFactory.query({ filename: 'currency_codes' });
然后
_this.currencyTypes.$promise.then(function () {
init();
});
答案 0 :(得分:0)
您可以使用ng-init
进行设置<select ng-model="currency" ng-init="currency='United States Dollar'" ng-options="code.name as code.name for code in currencyTypes">
</select>
<强> DEMO 强>
答案 1 :(得分:0)
你所拥有的一切都很好,只需包括一条曲目:
<select name="userCurrencyType"
ng-model="mob.currencyType"
ng-options="s.name + ' - ' + s.code for s in mob.currencyTypes track by s.code"></select>