checkbox实现全选的多种方法

<script language=javascript> 
//第一种方法 
function selectall1() 
{ 
   var a = document.getElementsByTagName("input"); 
   if(a[0].checked==true){ 
   for (var i=0; i<a.length; i++) 
      if (a[i].type == "checkbox") a[i].checked = false; 
   } 
   else 
   { 
   for (var i=0; i<a.length; i++) 
      if (a[i].type == "checkbox") a[i].checked = true; 
   } 
} 
//第二种方法 
function selectall2() { 
 var tform = document.forms['form1']; 
 for (var i=0;i<tform.length;i++) 
 { 
  var e = tform.elements[i]; 
  if (e.type == "checkbox") 
   e.checked = !e.checked; 
 } 
} 
//第三种方法,结合上述两种方法 
function selectall3() 
{ 
   var a = document.getElementsByTagName("input"); 
   for (var i=0; i<a.length; i++) 
      if (a[i].type == "checkbox") a[i].checked =!a[i].checked; 
  } 
//第四种方法 
function selectall4(id){ //用id区分  
var tform=document.forms['form1'];  
for(var i=0;i<tform.length;i++){  
var e=tform.elements[i];  
if(e.type=="checkbox" && e.name==id) e.checked=!e.checked;  
}  
} 
//第五种方法 
function selectall(theform,thename){ //theform指定的form,thename是checkbox的name属性 
var tform=document.forms[theform]; 
document.getElementById("thewen").value='反选'; 
for(var i=0;i<tform.length;i++){ 
   var e=tform.elements[i]; 
   if(e.type=='checkbox' && e.name==thename)e.checked=!e.checked; 
  } 
} 
</script> 
<form id="form1" name="form1" method="post" action=""> 
  <input type="checkbox" name="sid" value="1" /> 
  <input name="thes" type="button" onclick="javascript:selectall3()" value="全选" /> 
</form>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是el-checkbox实现全选、反选、多选的代码示例: 1. 全选 ```html <template> <div> <el-checkbox v-model="checkAll" @change="handleCheckAllChange">{{ checkAll ? '取消全选' : '全选' }}</el-checkbox> <br> <br> <el-checkbox-group v-model="checkedCities"> <el-checkbox v-for="city in cityOptions" :label="city" :key="city">{{ city }}</el-checkbox> </el-checkbox-group> </div> </template> <script> export default { data() { return { cityOptions: ['北京', '上海', '广州', '深圳'], checkedCities: [], checkAll: false, isIndeterminate: false, checkInvert: false }; }, methods: { handleCheckAllChange(val) { this.checkedCities = val ? this.cityOptions : []; this.isIndeterminate = false; this.checkInvert = false; } } }; </script> ``` 2. 反选 ```html <template> <div> <el-checkbox v-model="checkInvert" @change="handleCheckInvertChange">反选</el-checkbox> <br> <br> <el-checkbox-group v-model="checkedCities"> <el-checkbox v-for="city in cityOptions" :label="city" :key="city">{{ city }}</el-checkbox> </el-checkbox-group> </div> </template> <script> export default { data() { return { cityOptions: ['北京', '上海', '广州', '深圳'], checkedCities: [], checkAll: false, isIndeterminate: false, checkInvert: false }; }, methods: { handleCheckInvertChange() { this.checkedCities = this.cityOptions.filter(city => !this.checkedCities.includes(city)); this.checkAll = this.checkedCities.length === this.cityOptions.length; this.isIndeterminate = this.checkedCities.length > 0 && this.checkedCities.length < this.cityOptions.length; } } }; </script> ``` 3. 多选 ```html <template> <div> <el-checkbox v-model="checkAll" @change="handleCheckAllChange">{{ checkAll ? '取消全选' : '全选' }}</el-checkbox> <el-checkbox v-model="checkInvert" @change="handleCheckInvertChange">反选</el-checkbox> <br> <br> <el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange"> <el-checkbox v-for="city in cityOptions" :label="city" :key="city">{{ city }}</el-checkbox> </el-checkbox-group> <br> <br> <div>已选中 {{ checkedCities.length }} 项</div> <div v-if="isIndeterminate">已选中 {{ checkedCities.length }} 项,共 {{ cityOptions.length }} 项</div> </div> </template> <script> export default { data() { return { cityOptions: ['北京', '上海', '广州', '深圳'], checkedCities: [], checkAll: false, isIndeterminate: false, checkInvert: false }; }, methods: { handleCheckAllChange(val) { this.checkedCities = val ? this.cityOptions : []; this.isIndeterminate = false; this.checkInvert = false; }, handleCheckInvertChange() { this.checkedCities = this.cityOptions.filter(city => !this.checkedCities.includes(city)); this.checkAll = this.checkedCities.length === this.cityOptions.length; this.isIndeterminate = this.checkedCities.length > 0 && this.checkedCities.length < this.cityOptions.length; }, handleCheckedCitiesChange(value) { let checkedCount = value.length; this.checkAll = checkedCount === this.cityOptions.length; this.isIndeterminate = checkedCount > 0 && checkedCount < this.cityOptions.length; this.checkInvert = false; } } }; </script> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值