原生js實現全選反選全不選


代碼如下

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 

"http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	<title>checkbox練習</title>
	</head>
	<body>

		<form method="post" action="">
			你愛好的運動是?<input type="checkbox" id="checkedAllBox" />全選/全不選

			<br />
			<input type="checkbox" name="items" value="足球" />足球
			<input type="checkbox" name="items" value="籃球" />籃球
			<input type="checkbox" name="items" value="羽毛球" />羽毛球
			<input type="checkbox" name="items" value="乒乓球" />乒乓球
			<br />
			<input type="button" id="checkedAllBtn" value="全 選" />
			<input type="button" id="checkedNoBtn" value="全不選" />
			<input type="button" id="checkedRevBtn" value="反 選" />
			
		</form>

		<script>
		    var checkedAllBtn = document.getElementById("checkedAllBtn")
			var items = document.getElementsByName("items")
			var checkedAllBox = document.getElementById("checkedAllBox")
			//全選
			checkedAllBtn.onclick = function () {
				for (var i = 0; i < items.length;i++){
					items[i].checked = true
				}
				checkedAllBox.checked = true
			}

			//全不選
			var checkedNoBtn = document.getElementById("checkedNoBtn")
			checkedNoBtn.onclick = function () {
				for (var i = 0; i < items.length;i++){
					items[i].checked = false
				}
				checkedAllBox.checked = false
			}

			//反選
			var checkedRevBtn = document.getElementById("checkedRevBtn")
			checkedRevBtn.onclick = function () {
				checkedAllBox.checked = true

				for (var i = 0; i < items.length;i++){
					// if(items[i].checked == true){
					// 	items[i].checked = false
					// }else{
					// 	items[i].checked = true
					// }

					items[i].checked = !items[i].checked
					if (items[i].checked == false){
						checkedAllBox.checked = false
					}


				}
			}

			//全選復選框
			checkedAllBox.onclick = function () {
				for (var i = 0; i < items.length; i++){
					items[i].checked = this.checked
				}
			}

			
			for (var i = 0; i < items.length; i++){
				items[i].onclick = function () {
					checkedAllBox.checked = true


					for (var j = 0; j< items.length;j++){
						if (items[j].checked == false){
							checkedAllBox.checked = false
						}

						// if (items[j].checked == true){
						// 	checkedAllBox.checked = true
						// }else{
						// 	checkedAllBox.checked = false
						// }
					}
				}
			}






		</script>
	</body>
</html>

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM