实例2:设置复选框

html

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>操作复选框</title>
		<link rel="stylesheet" href="css/index.css" />
		<script type="text/javascript" src="js/index.js" ></script>
		<script type="text/javascript" src="js/jquery-2.1.0.js" ></script>
	</head>
	<body>
		<div id="hobby">
			您喜欢做的事情:
			<div>
				<input id="basketball" type="checkbox" name="basketball" />篮球
			</div>
			<div>
				<input id="tv" type="checkbox" name="tv" />看电视
			</div>
			<div>
				<input id="internet" type="checkbox" name="internet" />上网
			</div>
			<div>
				<input id="book" type="checkbox" name="book" />看书
			</div>
			<div>
				<input id="tour" type="checkbox" name="tour" />旅游
			</div>
			<div>
				<input id="music" type="checkbox" name="music" />听音乐
			</div>
			<div>
				<input id="others" type="checkbox" name="others" />其他
			</div>
		</div>
		<div id="buttonGroup">
			<div class="button">
				<button id="selectAll" οnclick="selectHobby(this)">全选</button>
			</div>
			<div class="button">
				<button id="selectNone" οnclick="selectHobby(this)">全不选</button>
			</div>
			<div class="button">
				<button id="selectInvert" οnclick="selectHobby(this)">反选</button>
			</div>
		</div>
	</body>
</html>


JS

//获取所有喜欢做的事情
function getHobby(selector){
	return $(selector);
}

//绑定行
function bindRaw(){
	$("#hobby div").each(function (){
		$(this).on('click', function (){
			var inputId = $($(this)[0].children[0].outerHTML).attr("id");
			$("#"+inputId).prop("checked", !$("#"+inputId).prop("checked"));
		})
	})
}

window.addEventListener('load', getHobby, false);
window.addEventListener('load', bindRaw, false);

//按钮触发事件
function selectHobby(object){
	console.debug(object);
	
	var selector = "input";
	var inputs = getHobby(selector);
	
	var docId = object.id;	
	switch(docId){
		case "selectAll":
			selectAll(inputs);
			break;
		case "selectNone":
			selectNone(inputs);
			break;
		case "selectInvert":
			selectInvert(inputs);
			break;
	}
	
}

//全选
function selectAll(inputs){
	inputs.each(function all(){
		$(this).prop("checked", true);
	});
}

//全不选
function selectNone(inputs){
	inputs.each(function none(){
		$(this).prop("checked", false);
	});
}

//反选
function selectInvert(inputs){
	inputs.each(function invert(){
		if ($(this).prop("checked", !$(this).prop("checked")));
	});
}


CSS

#hobby{
	margin-bottom: 10px;
}

#hobby div{
	cursor: pointer;
	width: 100px;
}

.button{
	display: inline;
	cursor: pointer;
}

.button button{
	border-radius: 10px;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值