在Angular JS中选择 - 我需要元素和值属性相同

时间:2014-08-19 18:01:50

标签: javascript html5 angularjs angularjs-scope

我有一个像这样的json,存储在$ scope.result中:

{ "tips":["p1","p2","p3","p4"],"actualTip":"p4"}

我需要用Angular做一个comboBox。我这样做了:

<select class="form-control" id="one" ng-model="actualTip" ng-options="tips for tips in result.tips" ></select>

它给我一个像这样的组合框:

<option value="0"> p1 </option>
<option value="1"> p2 </option>
<option value="2"> p3 </option>

我需要选项的文本和值具有相同的&#34;值&#34;。

例如:

<option value="p1"> p1 </option>
<option value="p2"> p2 </option>

编辑:我忘了说我需要组合框以选择的选项开始,即#34; actualTip&#34;

我该怎么做?

1 个答案:

答案 0 :(得分:0)

以下是一个代码段:http://codepen.io/rmadhuram/pen/leukx

不要担心Angular存储在选项中的价值。您将在scope变量中获得所需的正确值(您可以在控制台中看到它)。

此外,您只需使用所需的值初始化范围变量。

JavaScript的:

angular.module('app', [])
 .controller('testCtrl', ['$scope', function($scope) {
  $scope.result = { "tips":["p1","p2","p3","p4"],"actualTip":"p4"};

  $scope.onSelect = function() {
    console.log('selected: ' + $scope.actualTip);
  };

  $scope.actualTip = "p4"; 
}]);

HTML:

<div ng-app="app">
  <div ng-controller="testCtrl">
    <select class="form-control" id="one" ng-model="actualTip" ng-change="onSelect()" ng-options="tips for tips in result.tips" ></select>
  </div>
</div>