实现目的:实现全选与多选,点击确定的时候获取每个值的id传给后台

1、HTML

  1. <el-checkbox v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox>
  2. <el-checkbox v-for="(city,i) in cities" :label="city.uuid" :key="i" v-model="city.relation"
  3. @change="handleCheckedCitiesChange">{{city.customerName}}</el-checkbox>
  4.  
  5. <span slot="footer" class="dialog-footer">
  6. <el-button type="primary" :disabled="disabled" @click="classifyConfirm">确定</el-button>
  7. <el-button type="primary" @click="calceConfirn">取消</el-button>
  8. </span>

2、data

  1. data: function () {
  2. return { checkAll: false,
  3. cities: [], //数据源
    5   }
    6 }
          

3、js

  1. handleCheckAllChange(val) {
  2. if (this.checkAll) {
  3. this.cities.forEach(item => {
  4. item.relation = true //只改变数据的状态
  5. })
  6. } else {
  7. this.cities.forEach(item => {
  8. item.relation = false
  9. })
  10. }
  11. },
  12. handleCheckedCitiesChange() {
  13. console.log(this.checkedCities);
  14. if (this.checkedCities.length == this.cities.length) {
  15. this.checkAll = true
  16. } else {
  17. this.checkAll = false
  18. }
  19. },
  1. //确认
  2. classifyConfirm() {
  3. var checkedAll = [];
  4. this.cities.forEach(item => {
  5. if(item.relation == true){
  6. checkedAll.push(item.uuid) //确认的时候取状态为true的值,并把要用的字段取出来
  7. }
  8. })
  9. // var checkedAll = [...new Set(this.checkedCities)] //数组去重
  10. var that = this;
  11. var data = {
  12. "customerUuid":that.customerUuid,
  13. "projectCustomerUuid":checkedAll.join(',')
  14. };
  15. console.log(checkedAll)
  16. this.classLoading = true;
  17. $.ajax({
  18. url: Domain + '/xxxxx',
  19. dataType: "json",
  20. method: "POST",
  21. // contentType: "application/json; charset=utf-8",
  22. data:data,
  23. success: function (ret) {
  24. if (ret.retStatus == "1") {
  25. that.$message({
  26. type: 'success',
  27. message: '保存成功!'
  28. });
  29. that.classLoading = false; }
  30. }
  31. })
  32. },

最开始在改变状态的时候就想着取id了,导致后面一系列的问题,后面经过大佬的提醒,在最开始的时候不要取值,只改变状态就行,最后提交的时候遍历数组,然后把每一项里面为true的取出来就可以了,很简单就解决了

或者html 这样写也可以:

<el-checkbox :indeterminate="roleIsIndeterminate" v-model="roleCheckAll" @change="handleRoleAllChange" :disabled="isAllChecked || onlyAllDisabled">全选</el-checkbox>
<el-checkbox-group v-model="checkedRoles" @change="handleCheckedRolesChange">
<el-checkbox v-for="role in roleList" :label="role.id" :key="role.id" :disabled="role.disabled">{{role.name}}</el-checkbox>
</el-checkbox-group>

el-checkbox实现全选与单选的更多相关文章

  1. jQuery checkbox的全选与反选

    1:checkbox的全选与反选 js 代码 $("#cbAll").click(function(){ if($("#cbAll").is(":ch ...

  2. jq pagination分页 全选、单选的思考

    $().pagination(总条数,配置项); 后端分页的跨页选择: 思路:把浏览过的页整体保存为,整体拥有 curPage(当前页码).allChoice(当前页是否全选).selected当前页 ...

  3. checkbox 的全选与全不选

    checkbox 的全选与全不选 只需要调用 cekAll.check();方法,这个方法接收两个参数: 参数一: 全选按钮的 id 以字符串的形式写 参数二: 其他 checkbox 的 name ...

  4. GridView中实现CheckBox的全选

    GridView中实现CheckBox的全选 用服务器端的方法: 在页面上放一个gridview控件,配置好数据源,编辑列, <asp:GridView ID="GridView1&q ...

  5. 通过VBA实现checkbox的全选和反选

    checkbox的全选和反选可以通过VBA来控制,这种设计常见于一些交互式报表,代码如下: 1.分成两个IF判断 Private Sub CheckBox1_Click()  ‘checkbox为总控 ...

  6. jquery checkbox 选中 全选 插件

    checkbox  选中 全选 在项目中经常用到,但是不同的程序员写出的东西各有差异,在此整合了jquery checkbox插件,用起来很方便,也总结了我们项目中通常会出现问题的地方,一行代码搞定. ...

  7. Android高级控件(一)——ListView绑定CheckBox实现全选,增加和删除等功能

    Android高级控件(一)--ListView绑定CheckBox实现全选,增加和删除等功能 这个控件还是挺复杂的,也是项目中应该算是比较常用的了,所以写了一个小Demo来讲讲,主要是自定义adap ...

  8. html checkbox 实现全选/取消全选

    html checkbox  实现全选/取消全选 <html> <body> <table border="1"> <tr> < ...

  9. Android高级控件(一)——ListView绑定CheckBox实现全选,添加和删除等功能

    Android高级控件(一)--ListView绑定CheckBox实现全选,添加和删除等功能 这个控件还是挺复杂的.也是项目中应该算是比較经常使用的了,所以写了一个小Demo来讲讲,主要是自己定义a ...

  10. jquery中checkbox的全选与反选

    <!DOCTYPE html><html><head> <meta charset="utf-8" /> <title> ...

随机推荐

  1. Elasticsearch如何有惊无险地入门,我是用心的

    学习真的是一件令人开心的事情,上次分享了 Redis 入门的文章后,收到了很多小伙伴的鼓励,比如说:"哎呀,不错呀,二哥,通俗易懂,十分钟真的入门了".瞅瞅,瞅瞅,我决定再接再厉, ...

  2. 化学元素周期表的英文全称 Periodic Table of the Elements

    化学元素周期表的英文全称 Periodic Table of the Elements   缩写 PTE 拉丁文 英文 1 H 氢 Hydrogenium Hydrogen 2 He 氦 Helium ...

  3. Bank4

    Account: package banking4; public class Account { private double balance; public Account(double int_ ...

  4. windows下nodejs的安装

    1.下载 从nodejs官网下载地址:http://www.nodejs.org 2.安装 双击node-v4.4.0-x64.msi或者其他版本 3.环境搭建 进入cmd命令窗口 进入到nodejs ...

  5. 【Linux】CentOS7中使用mysql,查询结果显示中文乱码的解决办法

    1.登录mysql mysql -u root -p 2.查看mysql字符集 mysql> show variables like 'chara%'; mysql> show varia ...

  6. break 与 continue 的作用 详解

    1.break 用break语句可以使流程跳出switch语句体,也可以用break语句在循环结构终止本层循环体,从而提前结束本层循环. 使用说明: (1)只能在循环体内和switch语句体内使用br ...

  7. Java实现 洛谷 采药

    题目描述 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他出了一个难题.医师把他带到一个到处都是草药的山洞里对他说:" ...

  8. Java实现 LeetCode 740 删除与获得点数(递推 || 动态规划?打家劫舍Ⅳ)

    740. 删除与获得点数 给定一个整数数组 nums ,你可以对它进行一些操作. 每次操作中,选择任意一个 nums[i] ,删除它并获得 nums[i] 的点数.之后,你必须删除每个等于 nums[ ...

  9. Java实现 LeetCode 297 二叉树的序列化与反序列化

    297. 二叉树的序列化与反序列化 序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得 ...

  10. Java实现蓝桥杯勇者斗恶龙

    勇者斗恶龙 你的王国里有一条n个头的恶龙,你希望雇一些骑士把它杀死(即砍掉所有头). 村里有m个骑士可以雇佣,一个能力值为x的骑士可以砍掉恶龙一个直径不超过x的头, 且需要支付x个金币.如何雇佣骑士才 ...