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>
  • 相关阅读:
    2014.5.20知识点学习:void及void指针含义的深刻解析(转载)
    2014.5.20知识点学习:void与void*(转载)
    2014.5.19知识点学习:上下文切换
    编写“全选”按钮来操作大量复选框
    排序算法(冒泡排序,选择排序,插入排序,快速排序)
    算法基础
    Git &GitHub
    flask 上下文管理 &源码剖析
    rest-framework框架的基本组件
    Django的FBV和CB
  • 原文地址:https://www.cnblogs.com/sx00xs/p/11266045.html
Copyright © 2011-2022 走看看