javascript - 如何在 Angular Chosen 中设置默认选择值?

标签 javascript angularjs 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 标记的一对值和选项,其中 keyoptions 标记值 >value选项标记文本

现在我想将select标记的默认值设置为'CustomReport'作为其选项值'Custom使用 ng-init 将报告名称' 作为上述对象的选项文本

我尝试执行 ng-init="rname='CustomReport'",但它不起作用

如何根据对象的键值对设置其值?

<强> FULL EXAMPLE

最佳答案

您的解决方案的问题是,由于您提供了一个对象,而 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-

关于javascript - 如何在 Angular Chosen 中设置默认选择值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38783794/

相关文章:

javascript - 图像可以链接为分页中的 $next 吗?

javascript - Extjs 4.1 3 个组件可滚动的布局是什么

javascript - Angular js + 选择插件 + 将值设置为在下拉列表中选择

javascript - 想要在选择多个中添加无作为值

javascript - AngularJS 当一个单选按钮值被选择为 true 时,如何将所有单选按钮值更新为 false?

javascript - AngularJS 1.x 选择 MultiSelect 添加新值

javascript - 如果窗口滚动量 -> 然后在 jQuery 中反转

javascript - 如何知道表单输入是否为空(React Hooks)

javascript - 使用 ng-click Angularjs 调用多个方法

javascript - Angular Batarang 适用于不使用 ng-app 的应用