Pelajari cara membuat daftar Menu dropdown cascasing (bertingkat) dengan JavaScript.
Contoh:
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <script> var subjectObject = { "Front-end": { "HTML": ["Links", "Images", "Tables", "Lists"], "CSS": ["Borders", "Margins", "Backgrounds", "Float"], "JavaScript": ["Variables", "Operators", "Functions", "Conditions"] }, "Back-end": { "PHP": ["Variables", "Strings", "Arrays"], "SQL": ["SELECT", "UPDATE", "DELETE"] } } window.onload = function() { var subjectSel = document.getElementById("subject"); var topicSel = document.getElementById("topic"); var chapterSel = document.getElementById("chapter"); for (var x in subjectObject) { subjectSel.options[subjectSel.options.length] = new Option(x, x); } subjectSel.onchange = function() { //display correct values for (var y in subjectObject[this.value]) { topicSel.options[topicSel.options.length] = new Option(y, y); } } topicSel.onchange = function() { //display correct values var z = subjectObject[subjectSel.value][this.value]; for (var i = 0; i < z.length; i++) { chapterSel.options[chapterSel.options.length] = new Option(z[i], z[i]); } } } </script> </head> <body> <h1>Contoh Dropdown Cascading</h1> <form name="form1" id="form1" action="/action_page.php"> Subjects: <select name="subject" id="subject"> <option value="" selected="selected">Pilih Subjek</option> </select> <br><br> Topics: <select name="topic" id="topic"> <option value="" selected="selected">Silahkan pilih subjek dahulu</option> </select> <br><br> Chapters: <select name="chapter" id="chapter"> <option value="" selected="selected">Silahkan Pilih Topik dahulu</option> </select> <br><br> <input type="submit" value="Submit"> </form> </body> </html>
Section Artikel
Buat Tiga Daftar Dropdown
Buat tiga daftar dropdown, di dalam formulir HTML.
Daftar dropdown kedua dan ketiga akan menampilkan opsi yang berbeda, bergantung pada nilai yang dipilih dalam daftar dropdown induk.
Langkah 1) Tambahkan HTML
Contoh:
<form name="form1" id="form1" action="/action_page.php"> Subjects: <select name="subject" id="subject"> <option value="" selected="selected">Pilih Subjek</option> </select> <br><br> Topics: <select name="topic" id="topic"> <option value="" selected="selected">Silahkan pilih subjek dahulu</option> </select> <br><br> Chapters: <select name="chapter" id="chapter"> <option value="" selected="selected">Silahkan Pilih Topik dahulu</option> </select> <br><br> <input type="submit" value="Submit"> </form>
Langkah 2) Tambahkan JavaScript
Contoh:
"Front-end": { "HTML": ["Links", "Images", "Tables", "Lists"], "CSS": ["Borders", "Margins", "Backgrounds", "Float"], "JavaScript": ["Variables", "Operators", "Functions", "Conditions"] }, "Back-end": { "PHP": ["Variables", "Strings", "Arrays"], "SQL": ["SELECT", "UPDATE", "DELETE"] } } window.onload = function() { var subjectSel = document.getElementById("subject"); var topicSel = document.getElementById("topic"); var chapterSel = document.getElementById("chapter"); for (var x in subjectObject) { subjectSel.options[subjectSel.options.length] = new Option(x, x); } subjectSel.onchange = function() { //Menampilkan Nilai yang Benar for (var y in subjectObject[this.value]) { topicSel.options[topicSel.options.length] = new Option(y, y); } } topicSel.onchange = function() { //Menampilkan Nilai yang Benar var z = subjectObject[subjectSel.value][this.value]; for (var i = 0; i < z.length; i++) { chapterSel.options[chapterSel.options.length] = new Option(z[i], z[i]); } } }