如何根据数据(负载)从ng-options中选择值

时间:2016-06-13 09:26:20

标签: javascript angularjs

当用户展开对象详细信息时,他获取有关此对象的数据。更具体地说,它是对象数组。此数组的每个对象如下所示:

{
  id:"6c8b7b19-17e1-4d2b-b47b-ad2c3f2e967b",
  name:"TERM-xx",
  overchargeTolerance:2,
  pricingMethod:"ALTERNATIVE_MIN",
  ratioGlassToAccessory:2,
  ratioReplaceToRepair:2,
  validFrom:"2016-02-02T08:55:22",
  validTo:"2016-09-02T08:55:22",
  vatRate:2
}

如上所述,它的对象数组如此重复:

<div class="row admin-sub-form" ng-show="isToogled(node.id)" ng-repeat="term in glassTerms">

然后将值插入输入。但是因为有时价值是来自后端的常数我不能让用户在那里写任何东西所以我提供带有ng-options的选择框如下所示

        <select id="pricingMethod"
                class="form-control"
                ng-model="term.pricingMethod"
                ng-options="o as o for o in pricingMethod"
        >
        </select>

我想要的是什么:

当用户加载页面时,它应该自动从selectbox中选择正确的值。现在它只显示选择框,可能选择任何值,但不选择任何东西。我必须手动点击并选择它。

P.S。如果我用简单的输入替换selectbox:

<input ng-model="term.pricingMethod" id="pricingMethod" class="form-control"/>

正确显示该输入中的值,在本例中为ALTERNATIVE_MIN

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

 $scope.term.pricingMethod = 1;  //replace 1 with the value which u want to display by default
  

例如,如果您有此列表

[
        {"name":"option 1","id": 1},
        {"name":"option 2","id": 2},
        {"name":"option 3","id": 3}
    ];
  

并且您要加载&#34;选项2&#34;在页面加载时,然后像这样设置值为2的模型

$scope.term.pricingMethod = 2;