Javascript 如何设置角度选择中的默认选择值?

Javascript 如何设置角度选择中的默认选择值?,javascript,angularjs,angular-chosen,Javascript,Angularjs,Angular Chosen,我有一个select标记,我正在对其应用角度选择 这是我的选择标签 <select name="rname" id="rname" ng-model="rname" ng-init="rname='CustomReport'" ng-options="key as value for (key , value) in reportsValuesOptions track by key" chosen> <option value="">---Sel

我有一个
select
标记,我正在对其应用角度选择

这是我的
选择
标签

<select name="rname" id="rname" ng-model="rname" ng-init="rname='CustomReport'" 
   ng-options="key as value for (key , value) in reportsValuesOptions track by key" chosen>
        <option value="">---Select---</option>
</select>
对象是一对用于
select
tag的值和选项,其中
键是
选项标记值
值是
选项标记文本

现在,我想使用
ng init
从上述对象中将
select
标记的默认值设置为
'CustomReport'
作为其
选项值,将
'CustomReport Name'
作为其
选项文本

我试过做
nginit=“rname='CustomReport'”
,但不起作用

如何从对象的键值对设置其值


您可以像这样简单地使用nginit

<select ng-init="somethingHere = options[0]" 
        ng-model="somethingHere" 
        ng-options="option.name for option in options">
</select>

您可以像这样简单地使用ng init

<select ng-init="somethingHere = options[0]" 
        ng-model="somethingHere" 
        ng-options="option.name for option in options">
</select>

您的解决方案的问题在于,由于您提供了一个对象,而AngularJS主要是为数组设计的,这会导致AngularJS无法正确跟踪它们。您可能想为
reportsValueOptions
编写一个较短的对象,但它应该是一个对象数组,其形式类似于以下内容:

[
  {label: 'First Label', value:'first-option'},
  {label: 'Second Label', value:'second-option'}
]
以下是您的with modified object的修改版本,它还显示了所选的对象


您还可以在此处了解有关对象问题的更多信息:

您的解决方案的问题是因为您提供了一个对象,而AngularJS主要是为数组设计的,这会导致AngularJS无法正确跟踪它们。您可能想为
reportsValueOptions
编写一个较短的对象,但它应该是一个对象数组,其形式类似于以下内容:

[
  {label: 'First Label', value:'first-option'},
  {label: 'Second Label', value:'second-option'}
]
以下是您的with modified object的修改版本,它还显示了所选的对象


您还可以在此处了解有关对象问题的更多信息:

出色的复制粘贴技能。。如果你想抄袭其他人的答案,请提供参考。@Vicheanak我还没有得到答案。根据您所说的,我尝试了这个
ng init=“rname=reportsValuesOptions['CustomReport']”
,但没有成功。我做错了什么?如果从
ajax
nice copy-paste技巧获取
options
,这将不起作用。。如果你想抄袭其他人的答案,请提供参考。@Vicheanak我还没有得到答案。根据您所说的,我尝试了这个
ng init=“rname=reportsValuesOptions['CustomReport']”
,但没有成功。我做错了什么?如果从
ajax
获取
options
的话,这就不起作用了,最好从js而不是从html获取。。因此,只需初始化
$scope.rname=default元素
就可以从js而不是html进行初始化。。因此只需初始化
$scope.rname=default元素