2016-07-18 5 views
0

htmlラジオボタンを使用して(ファイル名の項目の)動的なリストを表示しようとしています。同じのために以下のコードを見つけてください:Angularjs - 単純ラジオボタンが選択できません

<html> 
    <head> 
     <script src="angular-v1.5.5.js"></script> 
    </head> 
<body> 
<div ng-app="myApp" ng-controller="myCtrl"> 
    <label> 
      <input type="radio" ng-model="inputCreatedBy" value="byX" ng-value="true" 
      ng-click="toggleSelection('byX')"> by X&nbsp;&nbsp;&nbsp;&nbsp; 
      <input type="radio" ng-model="inputCreatedBy" value="byAll" ng-value="false" 
      ng-click="toggleSelection('byAll')"> by All&nbsp;&nbsp;&nbsp;&nbsp; 
    </label> 
    <br/><br/> 
    <label ng-repeat="file in displayFiles"> 
      {{ file.name }} 
    </label> 

</div> 
</body> 
<script> 
    var app = angular.module("myApp",[]); 
    app.controller('myCtrl', function ($scope, filterFilter) { 
    $scope.files = [ 
     { name: 'file1', createdBy: 'X' }, 
     { name: 'file2', createdBy: 'X' }, 
     { name: 'file3', createdBy: 'Y' }, 
     { name: 'file4', createdBy: 'Y' } 
    ]; 
    $scope.displayFiles = []; 
    $scope.toggleSelection = function(selectionType) { 
     if(selectionType == 'byX') { 
      for(i=0;i<$scope.files.length;i++) { 
       if($scope.files[i].createdBy =='X') { 
        $scope.displayFiles.push($scope.files[i]); 
       } 
      } 
     } else if(selectionType == 'byAll') { 
      $scope.displayFiles = $scope.files; 
     } 
    }; 
    }); 
</script> 
</html> 

私はこのコードで以下の問題に直面しています:

(1)「Xよる」ラジオボタンのオプションがデフォルトで選択されていない、にもかかわらず、私はそれをng値 'true'でマークしました。

(2)「すべて」オプションを選択した後、「X」オプションを選択できません。

これらの問題を解決する手助けをしてください。

答えて

1

コードを更新しました。 jsFiddleをご覧ください。

あなたのコードに次のような問題がありました:

  1. $scope.inputCreatedByはそれがデフォルトで選択取得するbyXに設定してきたはずですが。
  2. $scope.displayFilesは、toggleSelection関数が使用されるたびにクリアされているはずです。
  3. ngValueは、入力式の値属性に角度式をバインドするために使用します。あなたの場合、この指示は不要です。
+0

優秀!!!あなたの応答のために多くの感謝:-) – developer

関連する問題