checkBox 实现全选

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	<script type="text/javascript" language="javascript">
		function selectedAll(){
			var checkBoxStatus = document.getElementById("QueryAll").checked;
			var inputObj = document.getElementsByTagName('input');
			for(var i=0;i<inputObj.length;i++){
				if(inputObj[i].type == "checkbox"){
					inputObj[i].checked = checkBoxStatus;
				}
			}
		}
	</script>    
  </head>
  
  <body>
  	<input type="checkbox" name="checkboxmain" id="QueryAll" οnclick="javascript: selectedAll()"/><BR/>
	<input type="checkbox" id="checkboxname" /> 中国<BR/>
	<input type="checkbox" id="checkboxname" /> 美国
  </body>
  
</html>

 

以下是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、付费专栏及课程。

余额充值