2017-01-30 5 views
-1

AngularJs ::最初のラジオボタンは

// 
 
var ngApp = angular.module('app', []); 
 
    
 
ngApp.controller('ctrl',function($scope){ 
 

 
$scope.setSelected = function ($data, $pData) { 
 
     angular.forEach($data, function (cu) { 
 
       cu.IsSelected = false; 
 
     }); 
 
     $pData.IsSelected = true; 
 
    }; 
 
    $scope.BusArray = [ 
 
\t [{ 
 

 
\t \t "BusName": "Ax. Travels", 
 
\t \t "Origin": "DEL", 
 
\t \t "Destination": "JAI", 
 
\t \t "TotalFare": 1200, 
 
\t \t "IsSelected": true 
 
\t }, { 
 

 
\t \t "BusName": "Bx. Travels", 
 
\t \t "Origin": "DEL", 
 
\t \t "Destination": "JAI", 
 
\t \t "TotalFare": 1600, 
 
\t \t "IsSelected": false 
 
\t }, { 
 

 
\t \t "BusName": "Bx. Travels", 
 
\t \t "Origin": "DEL", 
 
\t \t "Destination": "JAI", 
 
\t \t "TotalFare": 800, 
 
\t \t "IsSelected": false 
 
\t }, { 
 

 
\t \t "BusName": "Nx. Travels", 
 
\t \t "Origin": "DEL", 
 
\t \t "Destination": "JAI", 
 
\t \t "TotalFare": 400, 
 
\t \t "IsSelected": false 
 
\t }], 
 
\t [{ 
 

 
\t \t "BusName": "Ax. Travels", 
 
\t \t "Origin": "DEL", 
 
\t \t "Destination": "JAI", 
 
\t \t "TotalFare": 1100, 
 
\t \t "IsSelected": true 
 
\t }, { 
 

 
\t \t "BusName": "Nx. Travels", 
 
\t \t "Origin": "DEL", 
 
\t \t "Destination": "JAI", 
 
\t \t "TotalFare": 1400, 
 
\t \t "IsSelected": false 
 
\t }, { 
 

 
\t \t "BusName": "Nx. Travels", 
 
\t \t "Origin": "DEL", 
 
\t \t "Destination": "JAI", 
 
\t \t "TotalFare": 600, 
 
\t \t "IsSelected": false 
 
\t }, { 
 

 
\t \t "BusName": "Bx. Travels", 
 
\t \t "Origin": "DEL", 
 
\t \t "Destination": "JAI", 
 
\t \t "TotalFare": 500, 
 
\t \t "IsSelected": false 
 
\t }] 
 
]; 
 
    
 
    
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="app" > 
 
    <div ng-controller="ctrl"> 
 
    
 
Type(Bx/ Nx/Ax): <input type="text" ng-model="checkPrice"> 
 
     <div ng-repeat="buses in BusArray"> 
 
     <span>group{{$index+1}}</span> 
 
     <form> 
 
     <div ng-repeat="bus in dd=(buses|filter:checkPrice)"> 
 
    <label style="font-size:12px; background-color:green; padding:2px;"> 
 
       <input name="{{$parent}}" id="{{$parent.$index}}{{$index}}" type="radio" ng-checked="bus.IsSelected" ng-click="setSelected(buses,bus)" /> 
 
       {{bus|json}} 
 
       </label> 
 
      
 
      </div> 
 
       </form> 
 
      <div> 
 
     </div> 
 
     
 
     <hr/> 
 
     
 
    </div> 
 
     {{BusArray | json}} 
 
</div>

を確認してくださいfalseに真と他にIsSelectedをフィルタした後、すべてのラジオボタングループの選択設定しまったはずです

::

私の必要がある::

-------------ケース::

私は、入力ボックス:: グループ内の "BX" を入力した場合は1 ::最初のラジオボタンが選択され、「選択されました」がtrueに設定され、その他がfalseに設定されます。フィルタを削除すると、古いデータ(バス配列など)に を設定する必要があります。 **グループ2:グループ1

答えて

0

と同じ私は..フィドルをチェックし、ここでいくつかの変更を行いました - fiddle

$scope.isSetSelected = function(isSet , $data , $pData,isFirst){ 
     if(isSet) return true; 
     else{ 
     var isAnyDataSelected = false; 
     angular.forEach($data, function (cu) { 
       if (cu.IsSelected) 
        isAnyDataSelected = true; 
     }); 
     if(isAnyDataSelected) 
      return false; 
     else if(isFirst) 
      return true; 
     } 
} 
+0

をdishaこんにちは..あなたが最初のラジオBTNの選択について正しいです。私の必要性は、 "IsSelected"を設定しなければならないということです。フィルタを最初に削除すると、選択されたセット「IsSelected」がtrueになり、その他はfalseになります。 – user2558338

関連する問題