如何在 Angular Chosen 中设置默认选择值?
How to set default selected value in Angular Chosen?
我选择了一个 select
标签,我正在应用 angular。
这是我的 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
标签是从下面的对象
填充的
$scope.reportsValuesOptions = {'Cash Position Report':'Cash Position Report','Detail Report':'Detail Report','Reconciliation Report':'Reconciliation Report','Summary Report':'Summary Report','Sweep Report':'Sweep Report','FCCS/FBPS Detail Report':'FCCS/FBPS Detail Report','CustomReport':'Custom Report Name'};
该对象是 select
标签的一对值和选项,其中 key
是 options tags value
,value
是 option tag text
现在我想将 select
标签的默认值设置为 'CustomReport'
作为它的 option value
和 'Custom Report Name'
作为它的 option text
从上面对象,使用 ng-init
.
我试过 ng-init="rname='CustomReport'"
,但没用
如何从对象的键值对中设置它的值?
你可以像这样简单地使用 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'}
]
这是您的 jsfiddle 修改后的版本,修改后的对象还显示了选择的对象。
您还可以在此处了解有关对象问题的更多信息:https://docs.angularjs.org/api/ng/directive/ngOptions#complex-models-objects-or-collections-
我选择了一个 select
标签,我正在应用 angular。
这是我的 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
标签是从下面的对象
$scope.reportsValuesOptions = {'Cash Position Report':'Cash Position Report','Detail Report':'Detail Report','Reconciliation Report':'Reconciliation Report','Summary Report':'Summary Report','Sweep Report':'Sweep Report','FCCS/FBPS Detail Report':'FCCS/FBPS Detail Report','CustomReport':'Custom Report Name'};
该对象是 select
标签的一对值和选项,其中 key
是 options tags value
,value
是 option tag text
现在我想将 select
标签的默认值设置为 'CustomReport'
作为它的 option value
和 'Custom Report Name'
作为它的 option text
从上面对象,使用 ng-init
.
我试过 ng-init="rname='CustomReport'"
,但没用
如何从对象的键值对中设置它的值?
你可以像这样简单地使用 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'}
]
这是您的 jsfiddle 修改后的版本,修改后的对象还显示了选择的对象。
您还可以在此处了解有关对象问题的更多信息:https://docs.angularjs.org/api/ng/directive/ngOptions#complex-models-objects-or-collections-