กลุ่มช่องทำเครื่องหมายและปุ่มตัวเลือก
ให้ผู้ใช้เลือกตัวเลือกหนึ่งรายการหรือหลายรายการจากกลุ่ม
กลุ่มช่องทำเครื่องหมายและปุ่มตัวเลือก เป็นบทเรียน HTML Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน HTML Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส HTML Academy มีบทเรียนทั้งหมด 4 บทเรียน
ช่องทำเครื่องหมาย
ช่องทำเครื่องหมายช่วยให้ผู้ใช้เลือกได้ตั้งแต่ศูนย์ หนึ่งรายการ หรือหลายรายการ:
<label>
<input type="checkbox" name="terms" value="agreed"> I agree to the Terms
</label>
<!-- Each checkbox is independent -->
<!-- checked attribute = pre-checked -->
<input type="checkbox" name="newsletter" value="yes" checked>การส่งค่าของช่องทำเครื่องหมาย
ช่องทำเครื่องหมายจะส่งค่าเฉพาะเมื่อถูกเลือก:
<form>
<input type="checkbox" name="hobby" value="reading"> Reading<br>
<input type="checkbox" name="hobby" value="coding"> Coding<br>
<input type="checkbox" name="hobby" value="gaming"> Gaming<br>
</form>
<!-- If reading and coding are checked:
hobby=reading&hobby=coding -->
<!-- Unchecked boxes send nothing -->กลุ่มช่องทำเครื่องหมายด้วย fieldset
จัดกลุ่มช่องทำเครื่องหมายที่เกี่ยวข้องด้วย fieldset + legend:
<fieldset>
<legend>Select your interests</legend>
<label><input type="checkbox" name="interest" value="html"> HTML</label>
<label><input type="checkbox" name="interest" value="css"> CSS</label>
<label><input type="checkbox" name="interest" value="js"> JavaScript</label>
<label><input type="checkbox" name="interest" value="python"> Python</label>
</fieldset>ปุ่มตัวเลือก
ปุ่มตัวเลือกช่วยให้ผู้ใช้เลือกได้พอดีหนึ่งรายการจากกลุ่ม:
<fieldset>
<legend>Preferred plan</legend>
<label><input type="radio" name="plan" value="free"> Free</label>
<label><input type="radio" name="plan" value="pro"> Pro</label>
<label><input type="radio" name="plan" value="enterprise"> Enterprise</label>
</fieldset>
<!-- All radios in a group share the same name attribute -->
<!-- Selecting one deselects the others -->แอตทริบิวต์ checked
เลือกปุ่มตัวเลือกหรือช่องทำเครื่องหมายไว้ล่วงหน้าด้วยแอตทริบิวต์ checked:
<fieldset>
<legend>Skill level</legend>
<label><input type="radio" name="level" value="beginner" checked> Beginner</label>
<label><input type="radio" name="level" value="intermediate"> Intermediate</label>
<label><input type="radio" name="level" value="advanced"> Advanced</label>
</fieldset>การจัดรูปแบบช่องทำเครื่องหมายและปุ่มตัวเลือก
ช่องทำเครื่องหมายที่จัดรูปแบบเองโดยใช้เทคนิค label:
<label class="custom-check">
<input type="checkbox" name="agree">
<span class="checkmark"></span>
I agree
</label>
/* Hide native input, style the span: */
.custom-check input { opacity: 0; width: 0; }
.checkmark {
width: 1.25rem; height: 1.25rem;
border: 2px solid #ddd; border-radius: 3px;
display: inline-block; vertical-align: middle;
}
.custom-check input:checked + .checkmark { background: #0070f3; }สถานะ indeterminate
ช่องทำเครื่องหมายสามารถมีสถานะ indeterminate ได้ (ไม่ใช่ทั้งถูกเลือกและไม่ได้เลือก):
<input type="checkbox" id="select-all">
<script>
// Set via JavaScript only -- no HTML attribute
document.getElementById('select-all').indeterminate = true;
// Visually shown as a dash (−) in most browsers
// Used for "select all" when some children are checked
</script>radio ที่ไม่มีการเลือกเริ่มต้น
บางครั้งการไม่เลือกปุ่มตัวเลือกไว้ล่วงหน้าก็เหมาะสมกว่า:
- การเลือกไว้ล่วงหน้าสื่อว่าตัวเลือกนั้นเป็นตัวเลือกที่แนะนำ
- สำหรับตัวเลือกที่จำเป็นแต่ไม่มีค่าเริ่มต้นที่ชัดเจน (เพศ แผนการใช้งาน) ให้ปล่อยว่างไว้
- เพิ่ม
requiredเพื่อให้แน่ใจว่าผู้ใช้เลือกอย่างชัดเจน
<fieldset>
<legend>Gender</legend>
<label><input type="radio" name="gender" value="m" required> Male</label>
<label><input type="radio" name="gender" value="f" required> Female</label>
<label><input type="radio" name="gender" value="nb" required> Non-binary</label>
<label><input type="radio" name="gender" value="prefer_not" required> Prefer not to say</label>
</fieldset>ช่องทำเครื่องหมาย: checked เทียบกับ value
สิ่งสำคัญสองประการเกี่ยวกับการส่งค่าของช่องทำเครื่องหมาย:
<!-- The value sent when checked: -->
<input type="checkbox" name="subscribe" value="yes">
<!-- Submits: subscribe=yes when checked -->
<!-- If value is omitted, default value is 'on' -->
<!-- JavaScript checked state: -->
const cb = document.querySelector('input[name="subscribe"]');
console.log(cb.checked); // true or false
console.log(cb.value); // 'yes' (always, even when unchecked)การนำทางกลุ่มปุ่มตัวเลือกด้วยแป้นพิมพ์
การทำงานของแป้นพิมพ์สำหรับกลุ่มปุ่มตัวเลือก:
- Tab จะย้ายโฟกัสเข้าสู่กลุ่มไปยังปุ่มตัวเลือกที่เลือกไว้หรือปุ่มแรก
- ปุ่มลูกศร (↑/↓ หรือ ←/→) ใช้เลื่อนวนไปตามตัวเลือก
- Tab จะย้ายโฟกัสออกจากกลุ่มไปยังองค์ประกอบถัดไปที่รับโฟกัสได้
รูปแบบเลือกทั้งหมด
รูปแบบการเลือกหรือยกเลิกการเลือกช่องทำเครื่องหมายทั้งหมด:
<label>
<input type="checkbox" id="select-all"> Select all
</label>
<fieldset id="items">
<label><input type="checkbox" class="item" value="1"> Item 1</label>
<label><input type="checkbox" class="item" value="2"> Item 2</label>
<label><input type="checkbox" class="item" value="3"> Item 3</label>
</fieldset>
<script>
document.getElementById('select-all').addEventListener('change', function() {
document.querySelectorAll('.item').forEach(cb => cb.checked = this.checked);
});
</script>ตรวจสอบอย่างรวดเร็ว
กฎของแอตทริบิวต์ name ข้อใดทำให้ปุ่มตัวเลือกอยู่ในกลุ่มเดียวกัน
สรุป: ช่องทำเครื่องหมายและปุ่มตัวเลือก
สาระสำคัญของช่องทำเครื่องหมายและปุ่มตัวเลือก:
- ช่องทำเครื่องหมาย — เลือกได้หลายรายการ และส่งค่าเฉพาะเมื่อถูกเลือก
- ปุ่มตัวเลือก — เลือกได้พอดีหนึ่งรายการ และจัดกลุ่มด้วย
name - ทั้งสองแบบใช้แอตทริบิวต์
checkedสำหรับการเลือกไว้ล่วงหน้า - ครอบด้วย
<fieldset>+<legend> - ใช้ปุ่มลูกศรนำทางภายในกลุ่มปุ่มตัวเลือก
คำถามที่พบบ่อย
บทเรียน “กลุ่มช่องทำเครื่องหมายและปุ่มตัวเลือก” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “กลุ่มช่องทำเครื่องหมายและปุ่มตัวเลือก” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส HTML Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส HTML Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “กลุ่มช่องทำเครื่องหมายและปุ่มตัวเลือก”
ให้ผู้ใช้เลือกตัวเลือกหนึ่งรายการหรือหลายรายการจากกลุ่ม คุณปฏิบัติ HTML Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน HTML Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน HTML Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “กลุ่มช่องทำเครื่องหมายและปุ่มตัวเลือก” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน HTML Academy นี้ได้ไหม
ได้ บทเรียน HTML Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- เมนูแบบดรอปดาวน์ด้วย Select และ option
- Textarea สำหรับการป้อนข้อมูลหลายบรรทัด
- กลุ่มช่องทำเครื่องหมายและปุ่มตัวเลือก
- Datalist สำหรับการเติมข้อความอัตโนมัติ