我看到一个空白的下拉列表,我怀疑这是因为注入了一个额外的选项。如果我能够删除生成的这个附加选项,我认为,我的问题将得到解决。
自动注入选项:
<option value="? number:1 ?" selected="selected"></option>
我的观点:
<select id="myValue"
ng-model="myObject.value"
ng-change="foo()">
<option value="0"
localize="MyValue0"
ng-selected="myObject.value === 0"></option>
<option value="1"
localize="MyValue1"
ng-selected="myObject.value === 1"></option>
</select>
如何将myObject.value转换为数字?我试过ng-Model =&#34; parseInt(myObject.value)&#34;和ng-model =&#34; myObject.value |数&#34 ;.两者都抛出一个不可分配的元素错误。我正在使用Angularjs 1.6并远离指令,因此创建angular.directive函数可能不是一个选项
答案 0 :(得分:0)
我相信它是使用ngOptions指令的Angular最佳做法,记录为here。
此外,关于第一个选项<option value="? number:1 ?" selected="selected"></option>
,我怀疑是因为myObject.value的初始值与任何可能的选项值都不匹配。
试试这个:
<select id="myValue" ng-model="myObject.value" ng-change="foo()"
ng-options="item for item in options">
<option value="" disabled selected style="display:none;">Placeholder</option>
</select>
JSFiddle here显示myObject.value是一个数字。
更新了JSFiddle以展示没有占位符的下拉列表。