AngularJs选择ng-option设置对象

时间:2015-01-28 02:30:12

标签: angularjs ng-options

我在select ng-options中有一个对象,但我需要选择第二个,我该怎么做?

这是一个例子:

http://plnkr.co/edit/NTdaDNFFbbDlu7fJOeDK

$scope.prop = [
    {t: "Service 1", j:"oi1"},
    {t: "Service 2", j:"oi2"},
    {t: "Service 3", j:"oi3"},
] ;

$scope.prop.value.j = "oi2";

2 个答案:

答案 0 :(得分:1)

首先,您的ng-model属性应与select options数组不同,在这种情况下,请将其重命名为selected_value。然后,在您的控制器中,您可以使用$scope.prop

中的第二个选项进行分配
$scope.prop = [
    {t: "Service 1", j:"oi1"},
    {t: "Service 2", j:"oi2"},
    {t: "Service 3", j:"oi3"},
] ;


$scope.selected_value = $scope.prop[2]

然后在你的选择html。

  <select ng-model="prop.selected_value" ng-options="v.j for v in prop">
  </select>

答案 1 :(得分:0)

首先,您需要将value.j设置为控制器中的空字符串,因为您不需要在控制器中执行此操作。

$scope.prop.value.j = "";

然后,在下面的代码中,添加ng-init :(代码来自您发布的Plunker链接,我刚刚添加了ng-init指令来选择index of 1(数组中的第二个条目) )

<select ng-init="prop.value = prop.value || prop[1]" ng-model="prop.value" ng-options="v.j for v in prop">