Advertisement
Guest User

NIls nue

a guest
Nov 24th, 2014
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <html>
  2.     <head>
  3.         <script type="text/javascript">
  4.  
  5.             function MenupunktService() {
  6.  
  7.                 function Menupunkt (pMenuName, pEbene) {
  8.                     this.menuName = pMenuName;
  9.                     this.ebene = pEbene;
  10.                     this.childsMenupunkt = new Array();
  11.                     this.parentMenupunkt = null;
  12.  
  13.                     this.addChild = function addChild(pChildMenupunkt) {
  14.                         this.childsMenupunkt[this.childsMenupunkt.length] = pChildMenupunkt;
  15.                     }
  16.  
  17.                     this.setParent = function setParent(pParentMenupunkt) {
  18.                         this.parentMenupunkt = pParentMenupunkt;
  19.                     }
  20.                 }
  21.  
  22.                 var lMenupunktAnna = new Menupunkt("Anna", 1);
  23.                 var lMenupunktArne = new Menupunkt("Arne", 1);
  24.                 var lMenupunktBerta = new Menupunkt("Berta", 1);
  25.  
  26.                 var lMenupunktBernie = new Menupunkt("Bernie", 2);
  27.                 var lMenupunktBeate = new Menupunkt("Beate", 2);
  28.                 var lMenupunktTorsten = new Menupunkt("Torsten", 2);
  29.                 var lMenupunktThorsten = new Menupunkt("Thorsten", 2);
  30.                 var lMenupunktThomas = new Menupunkt("Thomas", 2);
  31.                 var lMenupunktKalle = new Menupunkt("Kalle", 2);
  32.                 var lMenupunktKarl = new Menupunkt("Karl", 2);
  33.  
  34.                 var lMenupunktSiegfried = new Menupunkt("Siegfried", 3);
  35.                 var lMenupunktMichael = new Menupunkt("Michael", 3);
  36.                 var lMenupunktSebastian = new Menupunkt("Sebastian", 3);
  37.                 var lMenupunktMartin = new Menupunkt("Martin", 3);
  38.                 var lMenupunktPeter = new Menupunkt("Peter", 3);
  39.                 var lMenupunktFrank = new Menupunkt("Frank", 3);
  40.                 var lMenupunktYasmin = new Menupunkt("Yasmin", 3);
  41.                 var lMenupunktAnne = new Menupunkt("Anne", 3);
  42.                 var lMenupunktKevin = new Menupunkt("Kevin", 3);
  43.                 var lMenupunktStefan = new Menupunkt("Stefan", 3);
  44.  
  45.  
  46.                 // Add Ebene 1
  47.                 lMenupunktAnna.addChild(lMenupunktBernie);
  48.                 lMenupunktAnna.addChild(lMenupunktBeate);
  49.  
  50.                 lMenupunktArne.addChild(lMenupunktTorsten);
  51.                 lMenupunktArne.addChild(lMenupunktThorsten);
  52.  
  53.                 lMenupunktBerta.addChild(lMenupunktThomas);
  54.                 lMenupunktBerta.addChild(lMenupunktKalle);
  55.                 lMenupunktBerta.addChild(lMenupunktKarl);
  56.  
  57.                 // Add Ebene 2
  58.                 lMenupunktBernie.setParent(lMenupunktAnna);
  59.                 lMenupunktBernie.addChild(lMenupunktSiegfried);
  60.                 lMenupunktBernie.addChild(lMenupunktMichael);
  61.  
  62.                 lMenupunktBeate.setParent(lMenupunktAnna);
  63.                 lMenupunktBeate.addChild(lMenupunktSebastian);
  64.  
  65.                 lMenupunktTorsten.setParent(lMenupunktArne);
  66.                 lMenupunktTorsten.addChild(lMenupunktMartin);
  67.  
  68.                 lMenupunktThorsten.setParent(lMenupunktArne);
  69.                 lMenupunktThorsten.addChild(lMenupunktPeter);
  70.                 lMenupunktThorsten.addChild(lMenupunktFrank);
  71.                 lMenupunktThorsten.addChild(lMenupunktYasmin);
  72.                 lMenupunktThorsten.addChild(lMenupunktStefan);
  73.  
  74.                 lMenupunktThomas.setParent(lMenupunktBerta);
  75.                 lMenupunktThomas.addChild(lMenupunktKevin);
  76.  
  77.                 lMenupunktKalle.setParent(lMenupunktBerta);
  78.  
  79.                 lMenupunktKarl.setParent(lMenupunktBerta);
  80.                 lMenupunktKarl.addChild(lMenupunktAnne);
  81.  
  82.                 // Add Ebene 3
  83.                 lMenupunktSiegfried.setParent(lMenupunktBernie);
  84.  
  85.                 lMenupunktMichael.setParent(lMenupunktBernie);
  86.  
  87.                 lMenupunktSebastian.setParent(lMenupunktBeate);
  88.  
  89.                 lMenupunktMartin.setParent(lMenupunktTorsten);
  90.  
  91.                 lMenupunktPeter.setParent(lMenupunktThorsten);
  92.  
  93.                 lMenupunktFrank.setParent(lMenupunktThorsten);
  94.  
  95.                 lMenupunktYasmin.setParent(lMenupunktThorsten);
  96.  
  97.                 lMenupunktAnne.setParent(lMenupunktKarl);
  98.  
  99.                 lMenupunktKevin.setParent(lMenupunktThomas);
  100.  
  101.                 lMenupunktStefan.setParent(lMenupunktThorsten);
  102.  
  103.  
  104.                 var lMenupunkte = [
  105.                     lMenupunktAnna,
  106.                     lMenupunktArne,
  107.                     lMenupunktBerta,
  108.  
  109.                     lMenupunktBernie,
  110.                     lMenupunktBeate,
  111.                     lMenupunktTorsten,
  112.                     lMenupunktThorsten,
  113.                     lMenupunktThomas,
  114.                     lMenupunktKalle,
  115.                     lMenupunktKarl,
  116.  
  117.                     lMenupunktSiegfried,
  118.                     lMenupunktMichael,
  119.                     lMenupunktSebastian,
  120.                     lMenupunktMartin,
  121.                     lMenupunktPeter,
  122.                     lMenupunktFrank,
  123.                     lMenupunktYasmin,
  124.                     lMenupunktAnne,
  125.                     lMenupunktKevin,
  126.                     lMenupunktStefan
  127.                 ]
  128.  
  129.                 this.init = function init() {
  130.                     var ebene1 = 0;
  131.                     var ebene2 = 0;
  132.                     var ebene3 = 0;
  133.                     for (var i=0; i<lMenupunkte.length; i++) {
  134.                             if (lMenupunkte[i].ebene == 1) {
  135.                             document.getElementById("selectBox1")[ebene1] = new Option(lMenupunkte[i].menuName, lMenupunkte[i].menuName);
  136.                             ebene1++;
  137.                         }
  138.                         else if (lMenupunkte[i].ebene == 2) {
  139.                             document.getElementById("selectBox2")[ebene2] = new Option(lMenupunkte[i].menuName, lMenupunkte[i].menuName);  
  140.                             ebene2++;
  141.                         }
  142.                         else if (lMenupunkte[i].ebene == 3) {
  143.                             document.getElementById("selectBox3")[ebene3] = new Option(lMenupunkte[i].menuName, lMenupunkte[i].menuName);
  144.                             ebene3++;
  145.                         }
  146.                     }
  147.                 }
  148.  
  149.                 this.changeSelectBoxA = function changeSelectBoxA() {
  150.                     // Berechnen der Selectbox 1
  151.                     var ebene1 = 0;
  152.                     var ebene2 = 0;
  153.                     var ebene3 = 0;
  154.                     var regexEbene1 = new RegExp('^' + document.getElementById("input1").value.toLowerCase());
  155.                     document.getElementById("selectBox1").options.length = 0;
  156.                     document.getElementById("selectBox2").options.length = 0;
  157.                     document.getElementById("selectBox3").options.length = 0;
  158.                     document.getElementById("input2").value = "";
  159.                     document.getElementById("input3").value = "";
  160.                     for (var i=0; i<lMenupunkte.length; i++) {
  161.                         if (lMenupunkte[i].ebene == 1) {
  162.                             if (regexEbene1.test(lMenupunkte[i].menuName.toLowerCase())) {
  163.                                 document.getElementById("selectBox1")[ebene1] = new Option(lMenupunkte[i].menuName, lMenupunkte[i].menuName);
  164.                                 ebene1++;
  165.  
  166.                                 // Berechnung der Selectbox 2
  167.                                 for (var x=0; x<lMenupunkte[i].childsMenupunkt.length; x++) {
  168.                                     document.getElementById("selectBox2")[ebene2] = new Option(lMenupunkte[i].childsMenupunkt[x].menuName, lMenupunkte[i].childsMenupunkt[x].menuName);
  169.                                     ebene2++;
  170.  
  171.                                     // Berechnen der Selectbox 3
  172.                                     for (var y=0; y<lMenupunkte[i].childsMenupunkt[x].childsMenupunkt.length; y++) {
  173.                                         document.getElementById("selectBox3")[ebene3] = new Option(lMenupunkte[i].childsMenupunkt[x].childsMenupunkt[y].menuName, lMenupunkte[i].childsMenupunkt[x].childsMenupunkt[y].menuName);
  174.                                         ebene3++;
  175.                                     }
  176.                                 }
  177.                             }
  178.                         }
  179.                     }
  180.                 }
  181.  
  182.                 this.changeSelectBoxB = function changeSelectBoxB() {
  183.                     // Berechnen der Selectbox 2
  184.                     var ebene1 = 0;
  185.                     var ebene2 = 0;
  186.                     var ebene3 = 0;
  187.                     var regexEbene2 = new RegExp('^' + document.getElementById("input2").value.toLowerCase());
  188.                     document.getElementById("selectBox1").options.length = 0;
  189.                     document.getElementById("selectBox2").options.length = 0;
  190.                     document.getElementById("selectBox3").options.length = 0;
  191.                     document.getElementById("input1").value = "";
  192.                     document.getElementById("input3").value = "";
  193.                     for (var i=0 ; i<lMenupunkte.length; i++) {
  194.                         if (lMenupunkte[i].ebene == 2) {
  195.                             if (regexEbene2.test(lMenupunkte[i].menuName.toLowerCase())) {
  196.                                
  197.                                 document.getElementById("selectBox2")[ebene2] = new Option(lMenupunkte[i].menuName, lMenupunkte[i].menuName);
  198.                                 ebene2++;
  199.  
  200.                                 // Berechnen der Selectbox 1
  201.                                 var contains = false;
  202.                                 for (var x=0; x<document.getElementById("selectBox1").options.length; x++) {
  203.                                     if (document.getElementById("selectBox1").options[x].value == lMenupunkte[i].parentMenupunkt.menuName) {
  204.                                         contains = true;
  205.                                     }
  206.                                 }
  207.                                 if (!contains) {
  208.                                     document.getElementById("selectBox1")[ebene1] = new Option(lMenupunkte[i].parentMenupunkt.menuName, lMenupunkte[i].parentMenupunkt.menuName);
  209.                                     ebene1++;
  210.                                 }
  211.  
  212.                                 // Berechnen der Selectbox 3
  213.                                 for (var y=0; y<lMenupunkte[i].childsMenupunkt.length; y++) {
  214.                                     document.getElementById("selectBox3")[ebene3] = new Option(lMenupunkte[i].childsMenupunkt[y].menuName, lMenupunkte[i].childsMenupunkt[y].menuName);
  215.                                     ebene3++;
  216.                                 }
  217.                             }
  218.                         }
  219.                     }
  220.  
  221.                 }
  222.  
  223.                 this.changeSelectBoxC = function changeSelectBoxC() {
  224.                     // Berechnen der Selectbox 3
  225.                     var ebene1 = 0;
  226.                     var ebene2 = 0;
  227.                     var ebene3 = 0;
  228.                     var regexEbene3 = new RegExp('^' + document.getElementById("input3").value.toLowerCase());
  229.                     document.getElementById("selectBox1").options.length = 0;
  230.                     document.getElementById("selectBox2").options.length = 0;
  231.                     document.getElementById("selectBox3").options.length = 0;
  232.                     document.getElementById("input1").value = "";
  233.                     document.getElementById("input2").value = "";
  234.                     for (var i=0; i<lMenupunkte.length; i++) {
  235.                         if (lMenupunkte[i].ebene == 3) {
  236.                             if (regexEbene3.test(lMenupunkte[i].menuName.toLowerCase())) {
  237.  
  238.                                 document.getElementById("selectBox3")[ebene3] = new Option(lMenupunkte[i].menuName, lMenupunkte[i].menuName);
  239.                                 ebene3++;
  240.  
  241.                                 // Berechnen der Selectbox 2
  242.                                 var contains = false;
  243.                                 for (var x=0; x<document.getElementById("selectBox2").options.length; x++) {
  244.                                     if (document.getElementById("selectBox2").options[x].value == lMenupunkte[i].parentMenupunkt.menuName) {
  245.                                         contains = true;
  246.                                     }
  247.                                 }
  248.                                 if (!contains) {
  249.                                     document.getElementById("selectBox2")[ebene2] = new Option(lMenupunkte[i].parentMenupunkt.menuName, lMenupunkte[i].parentMenupunkt.menuName);
  250.                                     ebene2++;
  251.                                 }
  252.  
  253.                                 // Berechnen der Selectbox 3
  254.                                 var contains = false;
  255.                                 for (var x=0; x<document.getElementById("selectBox1").options.length; x++) {
  256.                                     if (document.getElementById("selectBox1").options[x].value == lMenupunkte[i].parentMenupunkt.parentMenupunkt.menuName) {
  257.                                         contains = true;
  258.                                     }
  259.                                 }
  260.                                 if (!contains == true) {
  261.                                     document.getElementById("selectBox1")[ebene1] = new Option(lMenupunkte[i].parentMenupunkt.parentMenupunkt.menuName, lMenupunkte[i].parentMenupunkt.parentMenupunkt.menuName);
  262.                                     ebene1++;
  263.                                 }
  264.  
  265.                             }
  266.                         }
  267.                     }
  268.                 }
  269.             }
  270.  
  271.             this.lMenupunktService = new MenupunktService();
  272.  
  273.         </script>
  274.     </head>
  275.     <body onload="lMenupunktService.init()">
  276.  
  277.         <input id="input1" type="text" maxlength="20" style="width: 100px;" onkeyup="lMenupunktService.changeSelectBoxA()"></input>
  278.         <input id="input2" type="text" maxlength="20" style="width: 100px;" onkeyup="lMenupunktService.changeSelectBoxB()"></input>
  279.         <input id="input3" type="text" maxlength="20" style="width: 100px;" onkeyup="lMenupunktService.changeSelectBoxC()"></input>
  280.  
  281.         <br />
  282.  
  283.         <select id="selectBox1" style="width: 100px;">
  284.         </select>
  285.         <select id="selectBox2" style="width: 100px;">
  286.         </select>
  287.         <select id="selectBox3" style="width: 100px;">
  288.         </select>  
  289.  
  290.     </body>
  291. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement