suchen

Heim  >  Fragen und Antworten  >  Hauptteil

angular.js - angular怎么写出带全选反选增删单行单列的表格?

angular怎么写出带全选反选增删单行单列的表格?并且能够有一个数组是选中的项的数据,不用jq

迷茫迷茫2744 Tage vor589

Antworte allen(1)Ich werde antworten

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-15 16:52:17

    <!DOCTYPE html>
    <html lang="en" >

    <head>

    <title>Document</title>
    <script src="angular.js"></script>
    <script src="checklist.js"></script>
    <script src="app.js"></script>
    </head>

    <body>

    <input type="checkbox" ng-checked="user.roles.length == roles.length" ng-click="checkAll()" >全选/反选


    <input type="checkbox" checklist-model="user.roles" checklist-value="role" > {{role.text}}



        <br>
        <br> user.roles {{ user.roles}}<br>
        <br> role.id {{ids}}<br>
        <button class="right radius reveal-button" ng-click="del()">删除</button>
    </p>
    

    </body>

    </html>

    var app = angular.module("app", ["checklist-model"]);

    app.controller('Ctrl', function($scope) {
    $scope.roles = [
    {id: 1, text: 'guest'},
    {id: 2, text: 'user'},
    {id: 3, text: 'customer'},
    {id: 4, text: 'admin'}
    ];
    $scope.ids = [];
    //选择的结果集合
    $scope.user = {
    roles: []
    };

    $scope.checkAll = function() {
    console.log($scope.user.roles.length == $scope.roles.length)
    if($scope.user.roles.length == $scope.roles.length){
    $scope.user.roles = [];
    $scope.ids = [];
    }else{
    $scope.user.roles = angular.copy($scope.roles);
    $scope.ids = [];
    }

    };
    $scope.del =function(){
    for(x in $scope.user.roles){
    $scope.ids.push($scope.user.roles[x].id);
    }

    console.log($scope.ids)
    };

    });

    Antwort
    0
  • StornierenAntwort