Javascript NG选项没有';I don’我不能设定这个值

Javascript NG选项没有';I don’我不能设定这个值,javascript,angularjs,ng-options,Javascript,Angularjs,Ng Options,目前,我正在尝试使用ng options指令加载一个selectbox 但是,我无法更改所创建选项的值,它只是从0到3,而我希望这些值与我传递的“eigenschap_id”相同 所以它的值应该是23-26,而不是0-3 哪里出了问题 这是我正在使用的代码 控制器: $scope.eigenschappen.game = categories.Game; Jsonstring/object: [{"cat_id":6,"cat_name":"Game","eigenschap_name":"

目前,我正在尝试使用ng options指令加载一个selectbox

但是,我无法更改所创建选项的值,它只是从0到3,而我希望这些值与我传递的“eigenschap_id”相同

所以它的值应该是23-26,而不是0-3

哪里出了问题

这是我正在使用的代码

控制器:

$scope.eigenschappen.game = categories.Game;
Jsonstring/object:

 [{"cat_id":6,"cat_name":"Game","eigenschap_name":"RPG","eigenschap_id":23},{"cat_id":6,"cat_name":"Game","eigenschap_name":"Strategie","eigenschap_id":24},{"cat_id":6,"cat_name":"Game","eigenschap_name":"Avontuur","eigenschap_id":25},{"cat_id":6,"cat_name":"Game","eigenschap_name":"Simulatie","eigenschap_id":26}]
Html视图

<select data-ng-options="i.eigenschap_id as i.eigenschap_name for i in eigenschappen.game" ng-model="chosen"></select>

生成的html

<select ng-model="chosen" data-ng-options="i.eigenschap_id as i.eigenschap_name for i in eigenschappen.game" class="ng-pristine ng-valid">
    <option value="?" selected="selected"></option>
    <option value="0">RPG</option>
    <option value="1">Strategie</option>
    <option value="2">Avontuur</option>
    <option value="3">Simulatie</option>
</select>

角色扮演游戏
策略
阿文图尔
模拟

当Angular生成HTML选择选项时,(每个选项元素的)value属性可能不是您所期望的。。。其设置如下: . 当使用数组作为数据源时,该值设置为数组索引 . 将对象用作数据源时,该值设置为键/属性名称

当用户选择其中一个选项时,Angular使用索引(或键)查找数组(或对象)中的值——该查找值就是模型设置的值。(因此,模型没有设置为您在HTML中看到的值!这会导致很多混乱。)

例如,对于数组数据源,Angular将在所选选项值参数指定的索引处将模型值设置为数组中的值。如果数据源数组为[2013、2014、2015],则生成的HTML的选项元素值为0、1、2。如果选择第二项,Angular将在数组[1]中查找值2014,然后将模型设置为该值


来源:Mark RajCok评论

我从不知道的关键事实是,价值与模型实际持有的价值无关。如果有疑问,您可以使用{{the_selects_model}}在屏幕上显示select的模型值。谢谢