2016-12-10 2 views
0

* hier ist HTML-Code ich versuche, Checkboxwert zu holen, die von der Datenbank kommen, aber meine Checkbox wird keinen Wert vorgewählt, nur Checkbox zeigt, aber keinen Wert auswählend. ...meine Checkbox wählt kein Feld in angularjs

 ng-controller="noduesaccountsmodalcontroller" ng-init="init()"> 


    <form name="accounts" ng-submit=submit(accounts) novalidate> 
<table class="table"> 

      <thead> 
      <tr> 
     <th>item</th> 
     <th>received</th> 
      </tr> 
      </thead> 

     <tbody ng-repeat="emp in nodueaccountassets">  
      <tr> 
<td>{{emp}}</td> <td> <input type="checkbox" ng-model="emp.selected" value="{{emp.name}}"/></td> 

          </tr> 
         </tbody> 
        </table> 
        </div> 
       </div> 
      </div> 
      {{albumNameArray}} 

    <!-- <input type="checkbox" value="{{emp}}" ng-model="checked" ng-init="checked=true"{{emp}}><br /> -->              


    <button type="submit" value="submit" class="btn btn-primary">ACCEPT</button> 
     <button class="btn btn-warning" ng-click="popup.$rollbackViewValue();">REJECT</button> 

js Controller-Code ist

  application.controller('noduesaccountsmodalcontroller',function ($scope,$http,$window,$modal,$filter)                                      
      $scope.nodueaccountassets=data.list; 
     /*alert($scope.nodueaccountassets)*/ 
       }) 
      }) 

$scope.submit=function(form){ 
    $scope.albumNameArray = []; 

angular.forEach($scope.nodueaccountassets,function(emp){ 
    if (emp.selected) $scope.albumNameArray.push(emp.name); 

    alert(emp.selected); 


/*$scope.albumNameArray = $scope.nodueaccountassets.filter(function(emp){ 
     return emp.selected; 

     alert(emp.selected);*/ 
    }) 
    /*var emp_data='emp_assets='+$scope.nodueaccountassets+'&accounts_comments='+$scope.empcomments+'&emp_code='+$scope.emplycode; 
    alert("data is"+emp_data) 

    $http.get(domain+'/insertaccountassets?'+emp_data) 
    .success(function(data, status, headers, config){ 
    alert('submit successfully'); 
       }) 

.error(function(data, status, headers, config){ 
      alert(data); 
      }) 
      alert("error while submitting") 
      }  
     $scope.reject=function(form) 
     { 
$modal.dismiss('reject'); 
var emp_data='accounts_comments='+$scope.empcomments+'&  emp_code='+$scope.emplycode; 
      alert(emp_data) 
      $http.get(domain+'/insertaccountassets?'+emp_data) 
     }*/ 
} 

}); 
+0

haben Sie aufgelöst? –

+0

nop mein Problem ist dieses Projekt ist Frühling mvc basiert eckigen Checkbox Wert ist dynamischer Wert, aber meine Checkbox nicht ausgewählt jede Box bedeutet, nicht sogar jede Box und Bindung von Daten –

Antwort

0

I habe aus deinem Code einen plunker gemacht und einige Verbesserungen an deinem HTML und JS Code vorgenommen.

Stellen Sie sicher, Ihre JSON-Datenobjekte in dem Array hat, so dass, wenn Sie .selected Eigenschaft in das Objektarray erstellen und zuweisen als ng-model auf Ihre Checkbox es richtig

In HTML Woks

<!DOCTYPE html> 
<html> 

    <head> 
    <script data-require="[email protected]*" data-semver="3.0.0" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.js"></script> 
    <script data-require="[email protected]" data-semver="1.5.8" src="https://opensource.keycdn.com/angularjs/1.5.8/angular.min.js"></script> 
    <link rel="stylesheet" href="style.css" /> 
    <script src="script.js"></script> 
    </head> 

    <body ng-app="app" ng-controller="noduesaccountsmodalcontroller" ng-init="init()"> 
    <form name="accounts" ng-submit="submit(accounts)" novalidate=""> 
     <table class="table"> 
     <thead> 
      <tr> 
      <th>item</th> 
      <th>received</th> 
      </tr> 
     </thead> 
     <tbody ng-repeat="emp in nodueaccountassets"> 
      <tr> 
      <td>{{emp.name}}</td> 
      <td> 
       <input type="checkbox" ng-model="emp.selected" value="{{emp.name}}" /> 
      </td> 
      </tr> 
     </tbody> 
     </table> 

     {{selectedItems}} 


       <!-- <input type="checkbox" value="{{emp}}" ng-model="checked" ng-init="checked=true"{{emp}}><br /> --> 
     <button type="submit" value="submit" class="btn btn-primary">ACCEPT</button> 
     <button class="btn btn-warning" ng-click="popup.$rollbackViewValue();">REJECT</button> 
    </form> 
    </body> 

</html> 

In JS

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

    $scope.nodueaccountassets = [{'name':'x'},{'name':'a'}, 
    {'name':'b'},{'name':'c'},{'name':'d'}]; 

    $scope.init= function(){ 

    }; 
    $scope.selectedItems =[]; 
    $scope.submit = function(acc){ 
     angular.forEach($scope.nodueaccountassets,function(emp){ 
      if(emp.selected){ 
       $scope.selectedItems.push(emp.name); 
      } 
      }); 
    }; 
});