Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <html>
- <head>
- <script type="text/javascript">
- function MenupunktService() {
- function Menupunkt (pMenuName, pEbene) {
- this.menuName = pMenuName;
- this.ebene = pEbene;
- this.childsMenupunkt = new Array();
- this.parentMenupunkt = null;
- this.addChild = function addChild(pChildMenupunkt) {
- this.childsMenupunkt[this.childsMenupunkt.length] = pChildMenupunkt;
- }
- this.setParent = function setParent(pParentMenupunkt) {
- this.parentMenupunkt = pParentMenupunkt;
- }
- }
- var lMenupunktAnna = new Menupunkt("Anna", 1);
- var lMenupunktArne = new Menupunkt("Arne", 1);
- var lMenupunktBerta = new Menupunkt("Berta", 1);
- var lMenupunktBernie = new Menupunkt("Bernie", 2);
- var lMenupunktBeate = new Menupunkt("Beate", 2);
- var lMenupunktTorsten = new Menupunkt("Torsten", 2);
- var lMenupunktThorsten = new Menupunkt("Thorsten", 2);
- var lMenupunktThomas = new Menupunkt("Thomas", 2);
- var lMenupunktKalle = new Menupunkt("Kalle", 2);
- var lMenupunktKarl = new Menupunkt("Karl", 2);
- var lMenupunktSiegfried = new Menupunkt("Siegfried", 3);
- var lMenupunktMichael = new Menupunkt("Michael", 3);
- var lMenupunktSebastian = new Menupunkt("Sebastian", 3);
- var lMenupunktMartin = new Menupunkt("Martin", 3);
- var lMenupunktPeter = new Menupunkt("Peter", 3);
- var lMenupunktFrank = new Menupunkt("Frank", 3);
- var lMenupunktYasmin = new Menupunkt("Yasmin", 3);
- var lMenupunktAnne = new Menupunkt("Anne", 3);
- var lMenupunktKevin = new Menupunkt("Kevin", 3);
- var lMenupunktStefan = new Menupunkt("Stefan", 3);
- // Add Ebene 1
- lMenupunktAnna.addChild(lMenupunktBernie);
- lMenupunktAnna.addChild(lMenupunktBeate);
- lMenupunktArne.addChild(lMenupunktTorsten);
- lMenupunktArne.addChild(lMenupunktThorsten);
- lMenupunktBerta.addChild(lMenupunktThomas);
- lMenupunktBerta.addChild(lMenupunktKalle);
- lMenupunktBerta.addChild(lMenupunktKarl);
- // Add Ebene 2
- lMenupunktBernie.setParent(lMenupunktAnna);
- lMenupunktBernie.addChild(lMenupunktSiegfried);
- lMenupunktBernie.addChild(lMenupunktMichael);
- lMenupunktBeate.setParent(lMenupunktAnna);
- lMenupunktBeate.addChild(lMenupunktSebastian);
- lMenupunktTorsten.setParent(lMenupunktArne);
- lMenupunktTorsten.addChild(lMenupunktMartin);
- lMenupunktThorsten.setParent(lMenupunktArne);
- lMenupunktThorsten.addChild(lMenupunktPeter);
- lMenupunktThorsten.addChild(lMenupunktFrank);
- lMenupunktThorsten.addChild(lMenupunktYasmin);
- lMenupunktThorsten.addChild(lMenupunktStefan);
- lMenupunktThomas.setParent(lMenupunktBerta);
- lMenupunktThomas.addChild(lMenupunktKevin);
- lMenupunktKalle.setParent(lMenupunktBerta);
- lMenupunktKarl.setParent(lMenupunktBerta);
- lMenupunktKarl.addChild(lMenupunktAnne);
- // Add Ebene 3
- lMenupunktSiegfried.setParent(lMenupunktBernie);
- lMenupunktMichael.setParent(lMenupunktBernie);
- lMenupunktSebastian.setParent(lMenupunktBeate);
- lMenupunktMartin.setParent(lMenupunktTorsten);
- lMenupunktPeter.setParent(lMenupunktThorsten);
- lMenupunktFrank.setParent(lMenupunktThorsten);
- lMenupunktYasmin.setParent(lMenupunktThorsten);
- lMenupunktAnne.setParent(lMenupunktKarl);
- lMenupunktKevin.setParent(lMenupunktThomas);
- lMenupunktStefan.setParent(lMenupunktThorsten);
- var lMenupunkte = [
- lMenupunktAnna,
- lMenupunktArne,
- lMenupunktBerta,
- lMenupunktBernie,
- lMenupunktBeate,
- lMenupunktTorsten,
- lMenupunktThorsten,
- lMenupunktThomas,
- lMenupunktKalle,
- lMenupunktKarl,
- lMenupunktSiegfried,
- lMenupunktMichael,
- lMenupunktSebastian,
- lMenupunktMartin,
- lMenupunktPeter,
- lMenupunktFrank,
- lMenupunktYasmin,
- lMenupunktAnne,
- lMenupunktKevin,
- lMenupunktStefan
- ]
- this.init = function init() {
- for (var i=0; i<lMenupunkte.length; i++) {
- if (lMenupunkte[i].ebene == 1) {
- document.getElementById("selectBox1").appendChild(new Option(lMenupunkte[i].menuName, lMenupunkte[i].menuName));
- }
- else if (lMenupunkte[i].ebene == 2) {
- document.getElementById("selectBox2").appendChild(new Option(lMenupunkte[i].menuName, lMenupunkte[i].menuName));
- }
- else if (lMenupunkte[i].ebene == 3) {
- document.getElementById("selectBox3").appendChild(new Option(lMenupunkte[i].menuName, lMenupunkte[i].menuName));
- }
- }
- }
- this.clearDataList = function clearDataList(pDataList) {
- var length = document.getElementById(pDataList).options.length;
- for (var i=0; i<length; i++) {
- document.getElementById(pDataList).removeChild(document.getElementById(pDataList).options[0]);
- }
- }
- this.changeSelectBoxA = function changeSelectBoxA() {
- // Berechnen der Selectbox 1
- var regexEbene1 = new RegExp('^' + document.getElementById("input1").value.toLowerCase());
- this.clearDataList("selectBox1");
- this.clearDataList("selectBox2");
- this.clearDataList("selectBox3");
- document.getElementById("input2").value = "";
- document.getElementById("input3").value = "";
- for (var i=0; i<lMenupunkte.length; i++) {
- if (lMenupunkte[i].ebene == 1) {
- if (regexEbene1.test(lMenupunkte[i].menuName.toLowerCase())) {
- document.getElementById("selectBox1").appendChild(new Option(lMenupunkte[i].menuName, lMenupunkte[i].menuName));
- // Berechnung der Selectbox 2
- for (var x=0; x<lMenupunkte[i].childsMenupunkt.length; x++) {
- document.getElementById("selectBox2").appendChild(new Option(lMenupunkte[i].childsMenupunkt[x].menuName, lMenupunkte[i].childsMenupunkt[x].menuName));
- // Berechnen der Selectbox 3
- for (var y=0; y<lMenupunkte[i].childsMenupunkt[x].childsMenupunkt.length; y++) {
- document.getElementById("selectBox3").appendChild(new Option(lMenupunkte[i].childsMenupunkt[x].childsMenupunkt[y].menuName, lMenupunkte[i].childsMenupunkt[x].childsMenupunkt[y].menuName));
- }
- }
- }
- }
- }
- }
- this.changeSelectBoxB = function changeSelectBoxB() {
- // Berechnen der Selectbox 2
- var regexEbene2 = new RegExp('^' + document.getElementById("input2").value.toLowerCase());
- this.clearDataList("selectBox1");
- this.clearDataList("selectBox2");
- this.clearDataList("selectBox3");
- document.getElementById("input1").value = "";
- document.getElementById("input3").value = "";
- for (var i=0 ; i<lMenupunkte.length; i++) {
- if (lMenupunkte[i].ebene == 2) {
- if (regexEbene2.test(lMenupunkte[i].menuName.toLowerCase())) {
- document.getElementById("selectBox2").appendChild(new Option(lMenupunkte[i].menuName, lMenupunkte[i].menuName));
- // Berechnen der Selectbox 1
- var contains = false;
- for (var x=0; x<document.getElementById("selectBox1").options.length; x++) {
- if (document.getElementById("selectBox1").options[x].value == lMenupunkte[i].parentMenupunkt.menuName) {
- contains = true;
- }
- }
- if (!contains) {
- document.getElementById("selectBox1").appendChild(new Option(lMenupunkte[i].parentMenupunkt.menuName, lMenupunkte[i].parentMenupunkt.menuName));
- }
- // Berechnen der Selectbox 3
- for (var y=0; y<lMenupunkte[i].childsMenupunkt.length; y++) {
- document.getElementById("selectBox3").appendChild(new Option(lMenupunkte[i].childsMenupunkt[y].menuName, lMenupunkte[i].childsMenupunkt[y].menuName));
- }
- }
- }
- }
- }
- this.changeSelectBoxC = function changeSelectBoxC() {
- // Berechnen der Selectbox 3
- var regexEbene3 = new RegExp('^' + document.getElementById("input3").value.toLowerCase());
- this.clearDataList("selectBox1");
- this.clearDataList("selectBox2");
- this.clearDataList("selectBox3");
- document.getElementById("input1").value = "";
- document.getElementById("input2").value = "";
- for (var i=0; i<lMenupunkte.length; i++) {
- if (lMenupunkte[i].ebene == 3) {
- if (regexEbene3.test(lMenupunkte[i].menuName.toLowerCase())) {
- document.getElementById("selectBox3").appendChild(new Option(lMenupunkte[i].menuName, lMenupunkte[i].menuName));
- // Berechnen der Selectbox 2
- var contains = false;
- for (var x=0; x<document.getElementById("selectBox2").options.length; x++) {
- if (document.getElementById("selectBox2").options[x].value == lMenupunkte[i].parentMenupunkt.menuName) {
- contains = true;
- }
- }
- if (!contains) {
- document.getElementById("selectBox2").appendChild(new Option(lMenupunkte[i].parentMenupunkt.menuName, lMenupunkte[i].parentMenupunkt.menuName));
- }
- // Berechnen der Selectbox 3
- var contains = false;
- for (var x=0; x<document.getElementById("selectBox1").options.length; x++) {
- if (document.getElementById("selectBox1").options[x].value == lMenupunkte[i].parentMenupunkt.parentMenupunkt.menuName) {
- contains = true;
- }
- }
- if (!contains == true) {
- document.getElementById("selectBox1").appendChild(new Option(lMenupunkte[i].parentMenupunkt.parentMenupunkt.menuName, lMenupunkte[i].parentMenupunkt.parentMenupunkt.menuName));
- }
- }
- }
- }
- }
- }
- this.lMenupunktService = new MenupunktService();
- </script>
- </head>
- <body onload="lMenupunktService.init()">
- <input id="input1" list="selectBox1" onkeyup="lMenupunktService.changeSelectBoxA()">
- <datalist id="selectBox1">
- </datalist>
- <input id="input2" list="selectBox2" onkeyup="lMenupunktService.changeSelectBoxB()">
- <datalist id="selectBox2">
- </datalist>
- <input id="input3" list="selectBox3" onkeyup="lMenupunktService.changeSelectBoxC()">
- <datalist id="selectBox3">
- </datalist>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement