Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用ng选项设置所选项目无效_Javascript_Angularjs_Ng Options - Fatal编程技术网

Javascript 使用ng选项设置所选项目无效

Javascript 使用ng选项设置所选项目无效,javascript,angularjs,ng-options,Javascript,Angularjs,Ng Options,我使用以下数组使用ng选项填充选择下拉列表,但当下拉列表显示时,我无法设置选择的选项 下面是数据数组 { 'vehicle_year_id': 12, 'vehicle_color_id': 522, 'start_date': 'Thu Mar 26 2015 01:22:48 GMT+0000 (UTC)',

我使用以下数组使用ng选项填充选择下拉列表,但当下拉列表显示时,我无法设置选择的选项

下面是数据数组

{
                        'vehicle_year_id': 12,
                        'vehicle_color_id': 522,
                        'start_date': 'Thu Mar 26 2015 01:22:48 GMT+0000 (UTC)',
                        'end_date': 'Mon Sep 15 2014 14:37:15 GMT+0000 (UTC)',
                        'meta': {
                            'colors': [{ 'id': 522, 'caption': 'Green' }, { 'id': 523, 'caption': 'Blue' }],
                            'years': [{ 'id': 12, 'year': 2015 }, { 'id': 13, 'year': 2016 }]
                        },
                        'quantity': 8,
                        'duration': 10
                    },
和部分代码

 <select ng-model="details.vehicle_color_id" ng-init="details.vehicle_color_id || details.meta.colors[0].id" class="form-control" ng-options= "color.id as color.caption for color in details.meta.colors track by color.id">                              
                      </select>  

我可以在下拉列表中看到数据列表,但所选字段根本不显示。使用该选项的正确方式是什么

更新:

我只是做了以下更改

 <select ng-model="details.vehicle_color_id" ng-init="details.vehicle_color_id=(details.vehicle_color_id || details.meta.colors[0].id)" class="form-control" ng-options= "color.id as color.caption for color in details.meta.colors" ng-change="getValue($index)">                              
                          </select>


并使用getValue()检查模型的值,它显示了正确的数据,并且选择了默认值。我很好奇为什么会这样

您的
ng init
应该设置
ng model
范围变量的值

标记

<select ng-model="details.vehicle_color_id" 
  ng-init="details.vehicle_color_id=(details.vehicle_color_id || details.meta.colors[0].id)"
  class="form-control" 
  ng-options="color.id as color.caption for color in details.meta.colors" 
  ng-change="getValue($index)">
</select>


谢谢,但这对我不起作用。我还是有同样的问题