在javascript中怎样获得checkbox里选中的多个值、全选、取消全选。

javascript如何获得checkbox里选中的多个值、全选、取消全选。(水果购物车为例)

HTML代码:
将每个水果设置相同的name在js中以获取name的方式获取这些水果。

<body>
	<input type="checkbox" value="10" name="fruit" id="0" onClick="add(this.id)">苹果10<br>
	<input type="checkbox" value="20" name="fruit" id="1" onClick="add(this.id)">香蕉20<br>
	<input type="checkbox" value="30" name="fruit" id="2" onClick="add(this.id)">西瓜30<br>
	<input type="checkbox" value="40" name="fruit" id="3" onClick="add(this.id)">葡萄40<br>
	<input type="checkbox" value="50" name="fruit" id="4" onClick="add(this.id)">桂圆50<br>
	总价格:<span id="sum">0</span><br>
	<input type="checkbox" name="allchoose" id="all" onClick="add(this.id)">全选
</body>

每个水果的id是0.1.2.3.4按js中获取name数组序号的顺序写的。
js代码:
js中fruit获取checkbox中的每个水果返回fruit数组。
解读见注释

<script>
		function add(obj){
			var fruit = document.getElementsByName("fruit");
			var sum = document.getElementById("sum");
			var all = document.getElementById("all");
			var a = 0;
			if(obj == "all"){	//判断是不是全选按钮
				if(all.checked == true){	//选中全选时
					for(var i = 0;i<fruit.length;i++){
						fruit[i].checked = true;
						a += parseInt(fruit[i].value);
						sum.innerHTML = a;
					}
				}
				else{						//取消全选时
					for(i in fruit){
						fruit[i].checked = false;
						sum.innerHTML = 0;
					}
				}
			}
			else{							//单选
				if(fruit[parseInt(obj)].checked){	//obj为选中的水果的id
					sum.innerHTML = parseInt(sum.innerHTML) + parseInt(fruit[parseInt(obj)].value);
				}
				else{								//取消单选
					sum.innerHTML = parseInt(sum.innerHTML) - parseInt(fruit[parseInt(obj)].value); 
				}
			}
		}
	</script>

演示效果:

谢谢!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值