web前端————angular1表格中的复选框、全选、反选、分页小例子

2023-10-31

html页面代码:

<table class="table  ordertable label-table">
      <thead>
        <tr>
          <th style="width:10%;">
            <input type="checkbox" ng-checked="selectAllButton()" ng-click="clickSelectAll($event)">全选
          </th>
          <th>姓名</th>
          <th>年龄</th>
        </tr>
      </thead>
      <tbody>
        <tr ng-repeat="(index,item) in list">
          <td>
            <input type="checkbox" ng-checked="itemChecked(item)" ng-click="itemCheckedClick(item)">
          </td>
          <td>
            <p>{{item.name}}</p>
          </td>
          <td>
            <p>{{item.id}}</p>
          </td>
        </tr>
      </tbody>
    </table>

JS代码:

var app = angular.module('app',[])
app.controller('myController',function($scope) {
    $scope.list = []
    $scope.testData = [//模拟后台数据
        { id:1,name:"小一"},{ id:2,name:"小二"},{ id:3,name:"小三"},{ id:4,name:"小四"},
        { id:5,name:"小五"},{ id:6,name:"小六"},{ id:7,name:"小七"},{ id:8,name:"小八"},{ id:9,name:"小九"},
        { id:10,name:"小十"},{id:11,name:"小十一"},{ id:12,name:"小十二"},{ id:13,name:"小十三"},{ id:14,name:"小十四"},{ id:15,name:"小十五"},
        { id:16,name:"小十六"},{ id:17,name:"小十七"},{ id:18,name:"小十八"},{ id:19,name:"小十九"},{ id:20,name:"小二十"},
    ]
    $scope.page = 0//页面编码
    $scope.selectArrray = []    //定义第三方变量,存储选中的数据

    /**
     * 获取后台数据
     * 实际项目中方法里写的是ajax
     */
    $scope.getData = function(page){
        var num = 0
        num = page === 0 ? 1 : page+1
        //$scope.testData.slice(page*5,num*5)   相当于从后台获取的数据,这里每页取五条
        $scope.list = $scope.testData.slice(page*5,num*5)
    }
    $scope.getData($scope.page)

    /**
     * 全选按钮点击
     */
    $scope.clickSelectAll = function($event) {
        var checked = $event.target
        if(checked.checked) {
            $scope.list.forEach(item=>{
                if($scope.selectArrray.indexOf(item) === -1) {
                    $scope.selectArrray.push(item)
                }
            })
        }else {
            $scope.list.forEach(item=>{
                $scope.selectArrray.splice($scope.selectArrray.indexOf(item),1)
            })
        }
    }
    /**
     * 全选按钮状态
     */
    $scope.selectAllButton = function() {
        var isAll = true
        $scope.list.forEach(item=>{
            if($scope.selectArrray.indexOf(item) === -1) {
                isAll = false
            }
        })
        return isAll
    }
    /**
     * 单选按钮点击
     */
    $scope.itemCheckedClick = function(item) {
        if($scope.selectArrray.indexOf(item) === -1) {
            $scope.selectArrray.push(item)
        }else {
            $scope.selectArrray.splice($scope.selectArrray.indexOf(item),1)
        }
    }

    /**
     * 单选按钮选中状态
     */
    $scope.itemChecked = function(item) {
        return $scope.selectArrray.indexOf(item) !== -1
    }

    $scope.next = function() {  //模拟下一页
        $scope.page = $scope.page+1
        $scope.getData($scope.page)
    }
    $scope.prod = function() {  //模拟上一页
        $scope.page = $scope.page-1
        $scope.getData($scope.page)
    }

    /**
     * 确定按钮
     */
    $scope.isOk = function() {
        console.log($scope.selectArrray)
    }
})

页面效果:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

web前端————angular1表格中的复选框、全选、反选、分页小例子 的相关文章

随机推荐

  • 外链接 内链接 无链接

    编写多文件的程序时 编译器对于每个有名字的变量和函数都有链接模式的区别 分别是外链接 external 内链接 internal 无链接 noneternal 具体使用如下 A c include C h extern temp b 外链接
  • CMAKE_CUDA_ARCHITECTURES如何设置

    CMAKE CUDA ARCHITECTURES可以通过指定一个由逗号分隔的编译器支持的架构列表来设置 例如 要指定支持的架构 可以使用以下表达式 DCMAKE CUDA ARCHITECTURES 5 5 5 3 3 5 2 1
  • 免费开源iPhone推送消息工具+服务端-Bark

    什么是Bark Bark 是一款纯推送提醒服务 主要用来给自己的 iPhone 发送自定义内容的推送 可以是文字 链接 不提供历史记录功能 阅后即焚 服务端和客户端均开源 实时性和稳定性都非常可靠 支持自定义请求 自行部署服务器 push
  • 关于styleclip的踩坑(1)global direction中的fs3.npy的生成

    随心情填坑 0 背景 因为公司项目有个需求需要用到styleclip 所以就去了解了一下 这项技术就是可以通过clip输入文字 对生成的图片产生一定影响 从而生成符合描述的图片 或者 描述为图像编辑 将一张苦瓜脸变为笑脸 我这边的项目需要将
  • Python列表切片详解([][:][::])

    Python切片是list的一项基本的功能 最近看到了一个程序 里面有这样一句类似的代码 a list 10 不太明白两个冒号的意思就上网百度 发现大多数人写的博客中都没有提到这一个用法 因此自己翻阅 Python核心编程中文版 第二版 教
  • 使用Qt构建osgQt静态库在osg3.6.4中使用(附osgQt源码下载地址)

    osgQt库在osg3 4以后就给取消了 现在一般使用osgQOpenGL库替代 但是网上能搜到的教程里 常见的使用方法 还是以osgQt居多 因此 逼得我只能自己去编译一套osgQt的库文件 有如下几个注意点 首先是下载osgQt的地址
  • GPS经纬度换算成XY坐标

  • git error: src refspec dev does not match any

    背景 我是先在本地垒代码的 因为我是developer角色 所以没有权限把代码直接上传到公司的group下 只能暂时上传到自己的个人group下 所以才有了后面的从已有git资源转移到公司git资源的操作 操作过程 以下是具体的操作步骤 c
  • 计算机网络五层模型之网络层(2)

    接着上一讲 一 网络层 划分子网和构造超网 划分子网 从两级 IP 地址到三级 IP 地址 划分子网的方法是从网络的主机号借用若干位作为子网号 当然主机号也就相应减少了同样的位数 于是两级 IP 地址就变成三级 IP 地址 网络号 子网号和
  • FISCO BCOS(十)——— FISCO BCOS的离线安装

    前提 需要安装jdk1 8 教程传送门 https blog csdn net weixin 46457946 article details 123243513 1 需要在github上下载如下压缩包和脚本 2 将压缩包和脚本上传至终端
  • 解决“ACCESS_MASK不明确”错误

    目录 一 原因 二 解决方法 三 参考链接 一 原因 1 造成 ACCESS MASK不明确 错误的头文件 include dcmtk dcmdata dctk h include dcmtk dcmimgle dcmimage h inc
  • Python学习-Leetcode刷题记5:最长公共前缀

    Python学习 Leetcode刷题记5 最长公共前缀 一 问题 编写一个函数来查找字符串数组中的最长公共前缀 如果不存在公共前缀 返回空字符串 说明 所有输入只包含小写字母 a z 二 示例 示例 1 输入 flower flow fl
  • 一、初识java(1.3/1.5/1.6 )

    1 3 第一个JAVA程序 1 建立一个文件路径为英文的空文件夹 新建一个文本文档 txt格式 2 文档内容如下 字体一定要是英文 注意大小写 3 将文件名改为Hellojava java 4 按win r键 输入cmd确定运行 5 进入H
  • 如何使 React 中的 useEffect、useLayoutEffect 只调用一次

    如何使 React 中的 useEffect useLayoutEffect 只调用一次 Hook 是 React 16 8 的新增特性 旨在替代原来 React 中的 Class 组件 React 官方已经对使用 Class 组件采取了负
  • 自定义 CSS 单位的利器

    前文 很多时候我们很想要一个能够自定义 CSS 单位的东西 比如下面这种情况 UI 妹子给的图总是 px 单位的 但是我们做移动端的时候很多时候是想要 rem 的 这时候我们会手动计算从 px 到 rem 假如你计算的是 rem px 10
  • tcpdump 抓包命令及使用

    1 抓取所有接收 发送UDP消息 不确定需求时 最好any端口 tcpdump i any udp s 0 w any pcap 2 当抓包数量太大时建议分段 C 100MB 会产生大约100MB的分段且连续的包 tcpdump i any
  • feign调用接口不稳定解决

    Caused by java net SocketException Software caused connection abort recv failed at java net SocketInputStream socketRead
  • html鼠标划过文字渐变,鼠标滑过字体颜色从左向右渐变

    鼠标滑过字体颜色从左向右渐变 html gt Document 主页 服务 关于我 主页 服务 关于我 主页 主页 服务 关于我 主页
  • leetcode -day31 Subsets I II

    1 Subsets Given a set of distinct integers S return all possible subsets Note Elements in a subset must be in non descen
  • web前端————angular1表格中的复选框、全选、反选、分页小例子

    html页面代码 table class table ordertable label table thead tr th style width 10 th tr thead table