Javascript 在使用ng值或ng模型选择中选择选项

Javascript 在使用ng值或ng模型选择中选择选项,javascript,html,angularjs,Javascript,Html,Angularjs,目前我面临着这个问题 我有这个数组和这个选择html $ctrl.languages = [ { key: 'Play Prompt', value: 'blank' }, { key: 'Dont Play Prompt - Assume English', value: 'Eng

目前我面临着这个问题

我有这个数组和这个选择html

$ctrl.languages =
        [
            {
                key: 'Play Prompt',
                value: 'blank'
            },
            {
                key: 'Dont Play Prompt - Assume English',
                value: 'English'
            },
            {
                key: 'Dont Play Prompt - Assume Spanish',
                value: 'Spanish'
            }
        ];

 <select class="form-control" name="vdn" ng-model="$ctrl.ivr.Language"
                                                        ng-options="item.value as item.key for item in $ctrl.languages" ng-required="true">

                                                </select>
$ctrl.languages=
[
{
键:“播放提示”,
值:“空白”
},
{
关键:“不要玩提示-假设英语”,
价值观:“英语”
},
{
关键:“不要玩提示-假设是西班牙语”,
值:“西班牙语”
}
];
我使用该下拉列表显示每个选项的当前下拉列表中的键,并将所选选项的“value”属性保存在数据库中,但当我检索数据时,未选择带有“value”ssaved的选项

在这种情况下,如果我在数据库中保存“blank”值,我希望下拉列表中选择“Play Prompt”键


谢谢

您正在将
项.value
设置为每当从下拉列表中选择选项时设置为
$ctrl.ivr.Language
的值。由于
ngModel
指令指向
$ctrl.ivr.Language
,因此在控制器中将值设置为
$ctrl.ivr.Language
将自动将
selected=“selectd”
添加到具有匹配值的
属性的下拉菜单项中


因此,如果希望“播放提示”是在数据库不包含该设置的值时在下拉列表中选择的值,则可以检查API响应中是否存在该值,如果不存在,则将
$ctrl.ivr.Language='blank'
设置为默认的“播放提示”选项。

这看起来很简单。 我在这里提供了一个有效的plunker:

如果你在找别的东西,请告诉我

在我的代码中,我添加了一个超时来模拟web服务调用。 以下是来自plunker的控制器代码:

app.controller('mainController', function($scope, $timeout) {
  $scope.languages = [
      {
          key: 'Play Prompt',
          value: 'blank'
      },
      {
          key: 'Dont Play Prompt - Assume English',
          value: 'English'
      },
      {
          key: 'Dont Play Prompt - Assume Spanish',
          value: 'Spanish'
      }
    ];

    $scope.ivr = {};

    // Simulating Web service Call
    $scope.retrievingData = true;
    $timeout(function() {
      $scope.ivr.Language = 'blank';
      $scope.retrievingData = false;
    }, 2000);
});

我正在向数据库请求value stored Language属性,如果数据库中保存了“blank”,则将检索它,我希望下拉属性根据值选择键当您说“blank”时,是指空字符串(
'
),还是指文字值(
'blank'
)?