1

以下のコードを使用して、選択されたデフォルト値を正常に設定しましたが、このdropdpwnに触れないでコントローラに値を送るとnullになります。私はオプションの値を変更すると、値がコントローラに渡されます。ここで私は何が欠けているのですか?ng-repeatのデフォルトの選択値は、常にselectのコントローラにnullが送信されます

<select ng-model="detail.skuName" 
      class="form-input-wrapper form-select-hidden"> 

     <option data-ng-repeat="sku in config.skuList" ng-selected="sku" 
       >{{sku}} 
     </option> 

    </select> 

configは文字列の配列です。サンプルコードでは :

{"skuList":["abc", "xyz", "ghr"]} 

ようにあなたはここに

EDIT助けてください。

  'use strict'; 

      angular.module('TheSimpleApp', [ 
       'ui.router' 
      ]) 
       .config(['$stateProvider', 
       function($stateProvider) { 

        $stateProvider 
        .state('home', { 
         url: '/home', 
         views: { 
         'main': { 
          controller: 'HomeCtrl', 
          template: '<div>' + 
          '<h1>hello from parent</h1>' + 
          '<hr />' + 
          '<div ui-view="nameOtherThenSpace" ></div>' + 
          '<div>{{test}}</div>'+ 
          '<select ng-model="detail.skuName" class="form-input-wrapper form-select-hidden">'+ 
          '<option data-ng-repeat="sku in config.skuList" ng-selected="sku">{{sku}}'+ 
          '</option>'+ 
          '</select>'+ 
          '<div>'+ 
          '<a href="#" ng-click="send(detail)">send</a>', 
         } 
         } 
        }) 
        .state('home.details', { 
         url: '/details', 
         views: { 
         "nameOtherThenSpace": { 
          template: "<h2>hello from a child</h3>", 
          controller: function($scope, $http, $state) {}, 
         } 
         } 
        }); 
       } 
       ]) 
       .controller('HomeCtrl', function($scope, $http, $state) { 
       $scope.test = "Test Me"; 
       $scope.config = {"skuList":["abc", "xyz", "ghr"]}; 
       $scope.send = function(detail){ 
        alert(angular.toJson(detail)); 

       } 

       }) 

      .config([ '$urlRouterProvider', 
       function($urlRouterProvider) { 

       $urlRouterProvider.otherwise('/home'); 
       } 
      ]); 

未定義が渡され、変更はすべての良い、値をドロップダウン、負荷に値をドロップダウン変更せずに送信をクリックして、問題を視覚化するために上記のコードでこのplunkerでscript.jsを交換してください。私はドロップダウン値を変更せずに正しく渡される値を探しています。

http://plnkr.co/edit/o91TgJXTcFVDFA9SUmSC?p=preview

+0

どのように値をコントローラに送信していますか? – Delta

+0

@Delta -

+0

私はあなたの変数を設定しているコードを見ることなく、苦労しています。しかし、あなたはng-repeatの代わりにng-optionsを使うことに目を向けるかもしれません。 – Delta

答えて

0

あなたはあなたのデータを渡す方法を確認することができます。同じデータ

sample

希望でここにサンプルあなたの問題を解決するには、このヘルプを見つけます。

+0

の問題はまだ解決しています。 – AngryJS

+0

こんにちは、あなたのモデルがロードされているときにあなたのモデルが設定されていない(ng-model = "detail.skuName")ので、これが起こっています。コントローラで初期化しています($ scope.detail.skuName = "default")。これを振り分けたときに割り振られました – niku

+0

skulistのデフォルトIE値を設定するにはどうすればいいですか?インデックスを使用していますか?そのサンプルで助けてください? – AngryJS

関連する問題