前端框架jQ使用之全選全不選反選提交

在掌握了jQ的基礎知識之後,我們來看看jQ如何複選框的全選全不選反選?

這個最終代碼很簡潔,其中有不少的註釋代碼,都是可以作爲區別的,其中,最後一端會有使得瀏覽器奔潰的分險。

直接上代碼:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<form action="" method="post" id="love_form">
			你愛好的運動是?<br />
			<input class="ball" type="checkbox" value="足球"/>足球
			<input type="checkbox" value="藍球"/>籃球
			<input type="checkbox" value="排球"/>排球
			<input type="checkbox" value="鉛球"/>鉛球<br />
			<input type="button" name="selectAll" id="selectAll" value="全選" />
			<input type="button" name="selectNotAll" id="selectNotAll" value="全不選" />
			<input type="button" name="selectBack" id="selectBack" value="反選" />
			<input type="button" name="submit" id="submit" value="提交" />
		</form>
	</body>
	<script type="text/javascript">
		$().ready(
			function(){//全選
				$("#selectAll").click(
					function(){
						$("input:checkbox").attr("checked","checked");
//						alert($("input").attr("checked"));
					}
				);
				$("#selectNotAll").click(// 全不選
					function(){
						$("#love_form input:checkbox").removeAttr("checked");
					}
				);
				$("#selectBack").click(// 反選
					function(){
						// 第一種:自定義循環方式
//						for (var i = 0;i < $("input:checkbox").size();i++) {
//							if($($("input:checkbox").get(i)).attr("checked") == "checked"){
//								$($("input:checkbox").get(i)).removeAttr("checked");
//							} else{
//								$($("input:checkbox").get(i)).attr("checked","checked");
//							}
//						}
//						// 第二種:通過each方法
						$("input:checkbox").each(
							function(){
//								$(this).attr("checked",!$(this).attr("checked"));// jq方法
								
								this.checked = !this.checked;// 第三種:簡潔方法
							}
						);
					}
				);
				$("#submit").click(// 提交之後會彈框顯示你選擇的選項
					function(){
//						var box = $("input:checkbox:checked");
//						var str = "你選擇的有:";
//						for (var i = 0;i < box.size();i++) {
//							str = str + box.get(i).value + "\t";
//						}
//						alert(str);
						
						// each方法
						var str = "你選擇的有:";
						$("input:checkbox:checked").each(
							function(){
//								alert($(this).val());
								str = str + this.value + "\t";
							}
						);
						alert(str);
						// 一下代碼有問題,會使得瀏覽器崩潰
//							alert($("input:checkbox:checked").val());//只會彈出一個
//							for (var i=0;$("input").size();i++ ) {
//								if ($($("input").get(i)).attr("checked") == "checked") {
//									alert($($("input").get(i)).val());
//								} 
//							}
					}
				);
			}
		);
	</script>
</html>

以上代碼可以供學習交流直接使用,轉載請聲明來源。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章