Hur man skapar: Kaskaderullgardinslistor

Lär dig hur man använder JavaScript för att skapa kaskaderullgardinslistor.

亲自试一试

Skapa tre rullgardinslistor

Skapa tre rullgardinslistor i HTML-formuläret.

De två och tre första rullgardinslistorna kommer att visa olika alternativ, beroende på det valda värdet i den övre rullgardinslistan.

Steg 1 - Lägg till HTML:

<form name="form1" id="form1" action="/action_page.php">
  Ämnen: <select name="subject" id="subject">
    <option value="" selected="selected">Välj ämne</option>
  </select>
  <br><br>
  Ämnen: <select name="topic" id="topic">
    <option value="" selected="selected">Välj ämne först</option>
  </select>
  <br><br>
  Kapitel: <select name="chapter" id="chapter">
    <option value="" selected="selected">Välj ämne först</option>
  </select>
  <br><br>
  <input type="submit" value="Skicka">
</form>

Steg 2 - Lägg till JavaScript:

var subjectObject = {
  "Front-end": {
    "HTML": ["Länkar", "Bilder", "Tabeller", "Listor"],
    "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() {
    // 清空“章节”和“主题”下拉菜单
    chapterSel.length = 1;
    topicSel.length = 1;
    // 显示正确值
    for (var y in subjectObject[this.value]) {
      topicSel.options[topicSel.options.length] = new Option(y, y);
    }
  }
  topicSel.onchange = function() {
    // 清空“章节”下拉菜单
    chapterSel.length = 1;
    // 显示正确值
    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]);
    }
  }
}

亲自试一试

相关页面

Lär dig:CSS nedladdningsmeny

Lär dig:Hur man skapar: en hover-nedladdningsmeny