繁体   English   中英

NG-Options不允许我设置值

[英]NG-Options doesn't let me set the value

目前我正在尝试使用ng-options指令加载选择框。

但是我无法更改已创建选项的值,它只是从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属性可能不是您所期望的......它设置如下:。 当使用数组作为数据源时,该值设置为数组索引。 使用object作为数据源时,该值设置为键/属性名称

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

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

资料来源:Mark RajCok评论http://docs.angularjs.org/api/ng.directive:select

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM