2

ng-model は選択ボックスで使用され、ng-selected はオプションでも使用されますが、ng-selected が機能しないという条件があります。

ng-selected よりも ng-model を削除すると動作しますが、コントローラーで選択ボックスの値を取得する方法よりも 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>

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"}
            ]
         }
4

3 に答える 3

1

mode.nameこの質問に答えるには多くの方法があり、多くの回答が提供されていると確信していますが、「 」を送信する方法に関するOPの質問に基づいて、ng-model以下を使用して説明しましng-optionsた.

あなたのJSで

var app = angular.module('todoApp', []);

    app.controller("dobController", ["$scope", "$http",
        function($scope, $http) {


            $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.status = $scope.storageResult.accessMode[0].name;
            $scope.selectedItem = '';

        }
    ]);

HTML でモード名を ng-model にバインドするには、これに従います。

<select ng-model="status"  ng-options="mode.name as mode.name for mode in storageResult.accessMode">

オブジェクト全体をバインドするには、以下の構文を試すことができます

<select ng-model="status"  ng-options="mode as mode.name for mode in storageResult.accessMode">

このために、JS に小さな変更を加え$scope.statusます

$scope.status = $scope.storageResult.accessMode[0];

ここにDEMOプランカーがあります

于 2016-09-23T07:16:53.030 に答える