如何将select与现有模型绑定

时间:2014-02-12 09:00:21

标签: javascript angularjs

我有select现有options,我需要将select中的值绑定到我的模型。

我的所作所为:

<select ng-model="site.id">
    <option value="1">First<option>
    <option value="2">Second<option>
</select>

我的模型是:user = ['name':'andry', 'site': {'id': 1, name: 'First'}]

我想将此select与我的模型绑定。这怎么可能?目前从选择网站ID中选择值后会更新,但网站名称 - 不是。

我是角色的新手。

3 个答案:

答案 0 :(得分:1)

请使用选择,使用ng-options:

查看:

  <body ng-controller="MainCtrl">
    <h1>Select something below</h1>
    <select id="s1" ng-model="selectedItem" ng-options="item as item.name for item in items"></select>
    <h3>The selected item:</h3>
    <pre>{{selectedItem}}</pre>
  </body>

<强>控制器:

  $scope.items = [
    { id: 1, name: 'foo' },
    { id: 2, name: 'bar' },
    { id: 3, name: 'blah' }
  ];

请参阅下一个Plunker

$scope.selectedItem包含来自$scope.items数组的完整对象。

答案 1 :(得分:1)

使用ng-repeat选项也没关系:

将模型和值指定为对象

<select ng-model="site">
    <option ng-repeat="item in items" value="{{item}}" 
            ng-selected="site === item">{{item.name}}<option>
</select>

答案 2 :(得分:0)

您可以使用角度

中的$ watch功能
$scope.$watch("site.id", function(){
 var new_id = $scope.site.id;
 // so you now new id change site name
 $scope.site.name = "asdfasdfasdf"
});

阅读this