ng-selected不在选择框中使用ng-model - Angularjs

Piy*_*odi 2 angularjs angularjs-ng-repeat angularjs-ng-model angularjs-select

虽然ng-model用于选择框,ng-selected也用于选项,其中某些条件是ng-selected时间不起作用.

如果我将删除ng-model而不是ng-selected正在工作,但是如果我将删除ng-model而不是我应该如何获得控制器中选择框的值.

请帮忙 !

这是我的代码......

HTML:

<select class="form-control" ng-change="accessModeSelected()">
     <option ng-selected="mode.status == '1'"  ng-repeat="mode in storageResult.accessMode" ng-value="mode.name" name="accessMode{{$index}}" id="accessMode">
           {{mode.name}}
     </option>
</select>
Run Code Online (Sandbox Code Playgroud)

AngularJS:

$scope.storageResult   = {
           "storageAccount":"Enable", 
           "user": "sdcard",
           "pass": "sdcard",
           "wifiIP": "0",
           "ipAddr": "0",
           "accessMode": [
                {"name": "Local Storage","status": "0"},
                {"name":"WiFi Storage", "status": "1"},
                {"name":"Internet Storage", "status": "0"}
            ]
         }
Run Code Online (Sandbox Code Playgroud)

Nis*_*123 9

使用ng-optionsng-init(用于设置默认值)代替ng-repeat.

ng-options 是专门为 select

<select class="form-control" ng-init="statusselect='WiFi Storage'" ng-model="statusselect" ng-options="mode.name as mode.name for mode in storageResult.accessMode">

</select> Selected Value : {{statusselect}}
Run Code Online (Sandbox Code Playgroud)

小提琴

编辑:使用 ng-repeat

我宁愿ng-options,但如果你想使用ng-selectedng-repeat你需要提供一个默认选中的值给ng-modelcontroller

<select class="form-control" ng-model="statusselect">
     <option ng-selected="{{mode.name == statusselect}}" ng-repeat="mode in storageResult.accessMode" value="{{mode.name}}" name="accessMode{{$index}}" id="accessMode">
           {{mode.name}}
     </option>
</select> Selected Value : {{statusselect}}
Run Code Online (Sandbox Code Playgroud)

内部控制器

$scope.storageResult  = {
           "storageAccount":"Enable", 
           "user": "sdcard",
           "pass": "sdcard",
           "wifiIP": "0",
           "ipAddr": "0",
           "accessMode": [
                {"name": "Local Storage","status": "0"},
                {"name":"WiFi Storage", "status": "1"},
                {"name":"Internet Storage", "status": "0"}
            ]
         }
   $scope.statusselect = $scope.storageResult["accessMode"][1]["name"];
Run Code Online (Sandbox Code Playgroud)

小提琴