我在angularJS中预选选择输入有一些问题。选择框被一个数组填充。
<select class="form-control"
ng-model="userCtrl.selected_country"
ng-options="country.name for country in userCtrl.available_countries track by country.id">
</select>
例如,一个选定的国家/地区填充了一个 ID(我通过 API 获得)。
userCtrl.selected_country = 4;
但它不会起作用。我也尝试过使用选项和 ng-selected 来做到这一点。
<option ng-repeat="country in userCtrl.available_countries"
ng-selected="{{ country.id == userCtrl.selected_country }}"
value="{{ country.id }}">
{{ country.name }}
</option>
为什么我不能做出这样的选择?这“有效”,在源代码中我看到了正确的选项 selected="true" - 但在视图中你看不到它......非常奇怪。
我现在的“解决方案”是,我用源数组“available_countries”的正确值填充我的ng-model。不必要的许多步骤?!
- 加载 API 的数据(选择填充)
- 加载 API 的数据(地址)
- 将所有引用 ID(如 country_id、state_id)操作到 select-fill-objects(用于预选)
- 用户编辑发生 => 用户点击更新
- 将所有选择填充对象更改回参考 ID
- 立即保存地址
- 重复步骤 3
如果我可以仅使用数字进行预选,则不需要 3.、5. 和 7.。这有可能吗?
感谢您的帮助:-) Stefan