2017-02-02 171 views
0

我试图将下拉值设置为来自JavaScript代码的默认值,但我无法对其进行设置。无法将下拉选项设置为默认选择

我的代码jsFiddle

<div ng-controller="csrClrt"> 

    <div ng:repeat="(key, item) in items track by $index"> 

     <md-input-container> 
      <label>Face Style:</label> 
      <md-select ng-model="item.style" ng-change="f_style()" ng-model-options="{trackBy: '$value.id'}"> 
       <md-option ng-value="user" ng:repeat="user in styles">{{user.name}}</md-option> 
      </md-select> 
     </md-input-container> 
     <div> 
      Id:{{item.style.id}} 
      <br/> Want to Display Name {{item.style.name}} 
     </div> 
    </div> 


</div> 

JavaScript代码

angular.module('MyApp', ['ngMaterial']) 
.controller('csrClrt', function ($scope) { 
    stylesdata = [{ 
      name: "a", 
      id: 0 
     }, { 
      name: "b", 
      id: 1 
     }, { 
      name: "c", 
      id: 3 
     } 
    ]; 
    $scope.items = ["0"]; 
    var style = []; 
    for (var i = 0; i < stylesdata.length; i++) { 
     style.push({ 
      name: stylesdata[i].name, 
      id: stylesdata[i].id 
     }) 
    } 
    $scope.styles = style; 
}) 

回答

1

您还没有创建items对象正确和没有必要的ng:repeat="(key, item) in items track by $index"

查看

<div ng-controller="csrClrt"> 
    <md-input-container> 
     <label>Face Style:</label> 
     <md-select ng-model="items.style" ng-change="f_style()" ng-model-options="{trackBy: '$value.id'}"> 
      <md-option ng-value="user" ng:repeat="user in styles">{{user.name}}</md-option> 
     </md-select> 
    </md-input-container> 
    <div> 
     {{items.style}} 
    </div> 
</div> 

控制器

$scope.items = { 
    style: { 
     id: 1 
    } 
}; 

Updated Fiddle

相关问题