zoukankan      html  css  js  c++  java
  • Vue练习十八:02_12_复选框

    Demo 在线地址:
    https://sx00xs.github.io/test/18/index.html
    ---------------------------------------------------------------
    ide: vscode
    文件格式:.vue
    解析:(待补)

    <template>
      <div id=app>
        <dl>
            <dt>
              <input @click="handleCheckall" type=checkbox id=checkAll v-model="checkedAll"/>
              <label>{{selectVal}}</label>
              <a href=javascript:; @click="handleFanxuan">反选</a>
            </dt>
            <dd>
                <p v-for="list in lists" :key="list.val">
                  <input :type="list.typ" :name="list.name" v-model="list.checked" @click="handleClick">
                  <label>{{list.val}}</label>
                </p>
            </dd>
        </dl>
        <center>1、切换全选/全不选文字;2、根据选中个数更新全选框状态;</center>
      </div>
    </template>
    <script>
    export default {
      data:function(){
        return{
          checkedAll:false,
          selectVal:'全选',
          lists:[
            {
              typ:'checkbox',
              name:'item',
              checked:false,
              val:'选项(一)'
            },
            {
              typ:'checkbox',
              name:'item',
              checked:false,
              val:'选项(二)'
            },
    
            {
              typ:'checkbox',
              name:'item',
              checked:false,
              val:'选项(三)'
            },
    
            {
              typ:'checkbox',
              name:'item',
              checked:false,
              val:'选项(四)'
            },
    
            {
              typ:'checkbox',
              name:'item',
              checked:false,
              val:'选项(五)'
            },
    
            {
              typ:'checkbox',
              name:'item',
              checked:false,
              val:'选项(六)'
            },
    
            {
              typ:'checkbox',
              name:'item',
              checked:false,
              val:'选项(七)'
            },
    
            {
              typ:'checkbox',
              name:'item',
              checked:false,
              val:'选项(八)'
            },
    
            {
              typ:'checkbox',
              name:'item',
              checked:false,
              val:'选项(九)'
            },
    
            {
              typ:'checkbox',
              name:'item',
              checked:false,
              val:'选项(十)'
            },
    
          ]
        }
      },
      methods:{
        handleCheckall(){
          for(var i=0;i<this.lists.length;i++){
            this.lists[i].checked=!this.checkedAll;
          }
          //this.selectVal=this.selectVal==='全选' ? '全不选' :'全选';
          this.isCheckAll()
        },
        handleFanxuan(){
          for(var i=0;i<this.lists.length;i++){
            this.lists[i].checked = !this.lists[i].checked;
          }
          this.isCheckAll()
        },
        isCheckAll(){
          for(var i=0,n=0;i<this.lists.length;i++){
            this.lists[i].checked && n++;        
          }
          //console.log(n);
          this.checkedAll = n === this.lists.length;
          this.selectVal=this.checkedAll ? '全不选' : '全选';
        },
        handleClick(){
          this.isCheckAll()
        }
      },
      updated(){
        this.isCheckAll()
      }
    }
    </script>
  • 相关阅读:
    qs.js库 使用方法
    Python的装饰器
    Html常用标记总结
    SoapUI、Jmeter、Postman三种接口测试工具的比较
    WebService发布协议--SOAP和REST的区别
    Redis简介
    linux搭建svn服务并手动同步代码到web目录和自动更新
    标签有关用法以及锚点定位;
    DevOps简单介绍
    BAT 批处理脚本教程
  • 原文地址:https://www.cnblogs.com/sx00xs/p/11266045.html
Copyright © 2011-2022 走看看