2017-12-13 8 views
1

テーブルに3列あります。テーブルにはrequiredフィールドはありません。
保存ボタンをクリックすると、各行は個別のオブジェクトとして1つの配列に保存する必要があります。
1.ドキュメントがアップロードされていない場合、それは空になることがあります。
2.チェックボックスがチェックされている場合は、truefalseとなるはずです。
3.名前は各オブジェクト内にある必要があります。ng-clickを使用して複数のテーブルオブジェクトを単一の配列に保存する

var app = angular.module('myApp', []) 
 
app.controller('myController', function($scope) { 
 
    $scope.listName = [{ 
 
      'name': 'aaa' 
 
     },{ 
 
      'name': 'bbb' 
 
     },{ 
 
      'name': 'ccc' 
 
     }]; 
 
    $scope.saveDetails = function(doc) { 
 
     if ($('#status').is(':checked')) { 
 
      doc.status = 'true' 
 
     } else { 
 
      doc.status = 'false' 
 
     } 
 
     console.log(doc) 
 
    }; 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myApp" ng-controller="myController" ng-init="init()"> 
 
    <table> 
 
     <thead> 
 
      <tr> 
 
       <th>Name</th> 
 
       <th>file</th> 
 
       <th>status</th> 
 
      </tr> 
 
     </thead> 
 
     <tbody> 
 
      <tr ng-repeat='doc in listName'> 
 
       <td>{{doc.name}}</td> 
 
       <td> 
 
        <input type="file" ng-model="doc.file" /> 
 
       </td> 
 
       <td> 
 
        <input type="checkbox" ng-model="doc.status" /> 
 
       </td> 
 
      </tr> 
 
     </tbody> 
 
    </table> 
 
    <button ng-click="saveDetails(doc)">save</button> 
 
</div>

任意のヘルプ?ありがとう!!あなたはjqueryのメソッドfollwing しようとする必要があるいけない

+1

'( '#statusは')( ':チェックする')である' '$( '#ステータス')でなければなりません。 is( ':checked') ' –

+0

@manikantgautamが更新されました。ありがとうございます! – krish

答えて

1

:。

var app = angular.module('myApp', []) 
 
    app.controller('myController', function($scope) { 
 
    $scope.listName = [{ 
 
      'name': 'aaa', 
 
      file: "", 
 
      status:false 
 
     },{ 
 
      'name': 'bbb', 
 
      file: "", 
 
      status:false 
 
     },{ 
 
      'name': 'ccc', 
 
      file: "", 
 
      status:false 
 
     }]; 
 
    $scope.saveDetails = function(doc) { 
 
     
 
     console.log($scope.listName) 
 
    }; 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myApp" ng-controller="myController" ng-init="init()"> 
 
    <table> 
 
     <thead> 
 
      <tr> 
 
       <th>Name</th> 
 
       <th>file</th> 
 
       <th>status</th> 
 
      </tr> 
 
     </thead> 
 
     <tbody> 
 
      <tr ng-repeat='doc in listName'> 
 
       <td>{{doc.name}}</td> 
 
       <td> 
 
        <input type="file" ng-model="doc.file" /> 
 
       </td> 
 
       <td> 
 
        <input type="checkbox" ng-model="doc.status" /> 
 
       </td> 
 
      </tr> 
 
     </tbody> 
 
    </table> 
 
    <button ng-click="saveDetails(doc)">save</button> 
 
</div>

+0

はい私は直接完全な配列を印刷することができます。しかし、もう一度私の質問をお読みください。私はファイルとチェックボックスの値を動的にアップロードしたいです。 – krish

関連する問題