• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage Verkettete Auswahlkette

Jonas18041804

Neues Mitglied
Ich hab es jetzt geschafft eine Verkettete Auswahlkette zu basteln,jedoch bekomme ich es nicht hin wenn man z.b auf Grundschule,Klasse1,+ und - klickt ,dass dann text erscheint

HTML:
<!DOCTYPE html>
<html lang='de'>
  <head>
  <title></title>
  <meta charset='UTF-8'>
  <script type='text/javascript'>
  function updateSelect(schulform, klasse, thema) {
  var abfrager = [];
  abfrager[1] = [
  "Grundschule",
  ["Klasse1", "Die zahlen 1-10", "1-20", "+ und -"],
  ["Klasse2", "Die Zahlen bis 100", ": und *", ""],
  ["Klasse3", "Die Zahlen bis 1000", "Sachaufgaben", "1", ""],
  ["Klasse4", "Die Zahlen bis 1 Million", "Bruchrechen", ""]
  ];
  abfrager[2] = [
  "Gymnasium",
  ["Klasse5", "Geometrie", "2hgh", ""],
  ["Klasse6", "Geometrie2", "2008", ""]
  ];
  abfrager[3] = [
  "Hauptschule",
  ["Klasse5", "Geometrie", "", ""]
  ];


  var parentElement = document.getElementById('schulform');
  parentElement.innerHTML = null;
  for (var i = 1; i < abfrager.length; i++) {
  var newChild = document.createElement('option');
  newChild.setAttribute('value', i);
  if (i == schulform) newChild.setAttribute('selected', 'selected');
  newChild.innerHTML = abfrager[0];
  parentElement.appendChild(newChild);
  }


  var parentElement = document.getElementById('klasse');
  parentElement.innerHTML = null;
  for (var i = 1; i < abfrager[schulform].length; i++) {
  var newChild = document.createElement('option');
  newChild.setAttribute('value', i);
  if (i == klasse) newChild.setAttribute('selected', 'selected');
  newChild.innerHTML = abfrager[schulform][0];
  parentElement.appendChild(newChild);
  }


  var parentElement = document.getElementById('thema');
  parentElement.innerHTML = null;
  for (var i = 1; i < abfrager[schulform][klasse].length; i++) {
  var newChild = document.createElement('option');
  newChild.setAttribute('value', i);
  if (i == thema) newChild.setAttribute('selected', 'selected');
  newChild.innerHTML = abfrager[schulform][klasse];
  parentElement.appendChild(newChild);
  }
  }

  </script>
  </head>
  <body>
  <form name='abfrager' action='select.php' method='get' accept-charset='utf-8'>
  <select name='schulform'  id='schulform'  onchange='updateSelect(document.forms.abfrager.schulform.options[document.forms.abfrager.schulform.options.selectedIndex].value, 1, 1);'></select>
  <select name='klasse' id='klasse' onchange='updateSelect(document.forms.abfrager.schulform.options[document.forms.abfrager.schulform.options.selectedIndex].value, document.forms.abfrager.klasse.options[document.forms.abfrager.klasse.options.selectedIndex].value, 1);'></select>
  <select name='thema'  id='thema'></select>
  <script type='text/javascript'>updateSelect(3, 1, 2);</script>
  <noscript>Um das Auswahlmenü verwenden zu können, muss JavaScript aktiviert werden.</noscript>
  </form>
  </body>
</html>
 
Zuletzt bearbeitet von einem Moderator:
Werbung:
Code:
onchange='updateSelect(document.forms.abfrager.schulform.options[document.forms.abfrager.schulform.options.selectedIndex].value, document.forms.abfrager.klasse.options[document.forms.abfrager.klasse.options.selectedIndex].value, 1);'
Das ist ja gruselig :(

Außerdem verwendet man in JavaScript keine verschachtelten Arrays sondern JSON Objekte. Einen Ansatz für verkettete Select-Listen hatte ich vor einiger Zeit mal in anderer Sache geschrieben. Du kannst das ja auf deine Aufgabe abwandeln.
http://plnkr.co/edit/lAYuItnEP6Yo0a56szN9?p=preview
 
Code:
onchange='updateSelect(document.forms.abfrager.schulform.options[document.forms.abfrager.schulform.options.selectedIndex].value, document.forms.abfrager.klasse.options[document.forms.abfrager.klasse.options.selectedIndex].value, 1);'
Das ist ja gruselig :(

Außerdem verwendet man in JavaScript keine verschachtelten Arrays sondern JSON Objekte. Einen Ansatz für verkettete Select-Listen hatte ich vor einiger Zeit mal in anderer Sache geschrieben. Du kannst das ja auf deine Aufgabe abwandeln.
http://plnkr.co/edit/lAYuItnEP6Yo0a56szN9?p=preview

Code:
  { type: '118i', color: 'Alpinweiß' },
Kann icg statt Alpinweiß irgenein html befehl hinschreiben und wenn ja wie ?Sry kenne mich wenig aus
 
Werbung:
Zurück
Oben