我有一个这样定义的选择元素:
<select name="country_id" id="country_id" required="required" ng-model="newAddressForm.country_id">
<option value="">Select Country</option>
<option ng-repeat="country in countries" value="{{country.id}}">{{country.name}}</option>
</select>
当我没有在包含此选择元素的指令中设置任何类型的值时,一切正常。但是当我执行类似的操作时newAddressForm.country_id = 98
,Angular 不会选择值为 98 的选项,而是在选择元素的顶部注入一个新选项,如下所示:
<option value="? string:98 ?"></option>
是什么赋予了?这是什么格式,为什么会这样?请注意,如果我console.log(newAddressForm.country_id)
在指令中执行 a ,我会得到一个 normal "98"
,这在生成的 HTML 中很奇怪。
编辑: 情况更新。切换到使用ng-select
,但问题仍然存在。
奇怪的元素不再出现,但是,现在顶部有另一个元素,一个只有问号?
作为值,没有标签的元素。
这就是我收集到的 Angular 的"none selected"
选择。不过,我仍然不明白为什么它不会选择我告诉它选择的选项。
做newAddressForm.country_id = 98
仍然没有结果。这是为什么?