Advertisement
Guest User

Expertensuche JS

a guest
Nov 24th, 2014
139
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.                     for (var i=0; i<lMenupunkte.length; i++) {
  131.                             if (lMenupunkte[i].ebene == 1) {
  132.                             document.getElementById("selectBox1").appendChild(new Option(lMenupunkte[i].menuName, lMenupunkte[i].menuName));
  133.                         }
  134.                         else if (lMenupunkte[i].ebene == 2) {
  135.                             document.getElementById("selectBox2").appendChild(new Option(lMenupunkte[i].menuName, lMenupunkte[i].menuName));
  136.                         }
  137.                         else if (lMenupunkte[i].ebene == 3) {
  138.                             document.getElementById("selectBox3").appendChild(new Option(lMenupunkte[i].menuName, lMenupunkte[i].menuName));
  139.                         }
  140.                     }
  141.                 }
  142.  
  143.                 this.clearDataList = function clearDataList(pDataList) {
  144.                     var length = document.getElementById(pDataList).options.length;
  145.                     for (var i=0; i<length; i++) {
  146.                         document.getElementById(pDataList).removeChild(document.getElementById(pDataList).options[0]);
  147.                     }
  148.                 }
  149.  
  150.                 this.changeSelectBoxA = function changeSelectBoxA() {
  151.                     // Berechnen der Selectbox 1
  152.                     var regexEbene1 = new RegExp('^' + document.getElementById("input1").value.toLowerCase());
  153.                     this.clearDataList("selectBox1");
  154.                     this.clearDataList("selectBox2");
  155.                     this.clearDataList("selectBox3");
  156.                     document.getElementById("input2").value = "";
  157.                     document.getElementById("input3").value = "";
  158.                     for (var i=0; i<lMenupunkte.length; i++) {
  159.                         if (lMenupunkte[i].ebene == 1) {
  160.                             if (regexEbene1.test(lMenupunkte[i].menuName.toLowerCase())) {
  161.  
  162.                                 document.getElementById("selectBox1").appendChild(new Option(lMenupunkte[i].menuName, lMenupunkte[i].menuName));
  163.  
  164.                                 // Berechnung der Selectbox 2
  165.                                 for (var x=0; x<lMenupunkte[i].childsMenupunkt.length; x++) {
  166.                                     document.getElementById("selectBox2").appendChild(new Option(lMenupunkte[i].childsMenupunkt[x].menuName, lMenupunkte[i].childsMenupunkt[x].menuName));
  167.  
  168.                                     // Berechnen der Selectbox 3
  169.                                     for (var y=0; y<lMenupunkte[i].childsMenupunkt[x].childsMenupunkt.length; y++) {
  170.                                         document.getElementById("selectBox3").appendChild(new Option(lMenupunkte[i].childsMenupunkt[x].childsMenupunkt[y].menuName, lMenupunkte[i].childsMenupunkt[x].childsMenupunkt[y].menuName));
  171.                                     }
  172.                                 }
  173.                             }
  174.                         }
  175.                     }
  176.                 }
  177.  
  178.                 this.changeSelectBoxB = function changeSelectBoxB() {
  179.                     // Berechnen der Selectbox 2
  180.                     var regexEbene2 = new RegExp('^' + document.getElementById("input2").value.toLowerCase());
  181.                     this.clearDataList("selectBox1");
  182.                     this.clearDataList("selectBox2");
  183.                     this.clearDataList("selectBox3");
  184.                     document.getElementById("input1").value = "";
  185.                     document.getElementById("input3").value = "";
  186.                     for (var i=0 ; i<lMenupunkte.length; i++) {
  187.                         if (lMenupunkte[i].ebene == 2) {
  188.                             if (regexEbene2.test(lMenupunkte[i].menuName.toLowerCase())) {
  189.                                
  190.                                 document.getElementById("selectBox2").appendChild(new Option(lMenupunkte[i].menuName, lMenupunkte[i].menuName));
  191.  
  192.                                 // Berechnen der Selectbox 1
  193.                                 var contains = false;
  194.                                 for (var x=0; x<document.getElementById("selectBox1").options.length; x++) {
  195.                                     if (document.getElementById("selectBox1").options[x].value == lMenupunkte[i].parentMenupunkt.menuName) {
  196.                                         contains = true;
  197.                                     }
  198.                                 }
  199.                                 if (!contains) {
  200.                                     document.getElementById("selectBox1").appendChild(new Option(lMenupunkte[i].parentMenupunkt.menuName, lMenupunkte[i].parentMenupunkt.menuName));
  201.                                 }
  202.  
  203.                                 // Berechnen der Selectbox 3
  204.                                 for (var y=0; y<lMenupunkte[i].childsMenupunkt.length; y++) {
  205.                                     document.getElementById("selectBox3").appendChild(new Option(lMenupunkte[i].childsMenupunkt[y].menuName, lMenupunkte[i].childsMenupunkt[y].menuName));
  206.                                 }
  207.                             }
  208.                         }
  209.                     }
  210.  
  211.                 }
  212.  
  213.                 this.changeSelectBoxC = function changeSelectBoxC() {
  214.                     // Berechnen der Selectbox 3
  215.                     var regexEbene3 = new RegExp('^' + document.getElementById("input3").value.toLowerCase());
  216.                     this.clearDataList("selectBox1");
  217.                     this.clearDataList("selectBox2");
  218.                     this.clearDataList("selectBox3");
  219.                     document.getElementById("input1").value = "";
  220.                     document.getElementById("input2").value = "";
  221.                     for (var i=0; i<lMenupunkte.length; i++) {
  222.                         if (lMenupunkte[i].ebene == 3) {
  223.                             if (regexEbene3.test(lMenupunkte[i].menuName.toLowerCase())) {
  224.  
  225.                                 document.getElementById("selectBox3").appendChild(new Option(lMenupunkte[i].menuName, lMenupunkte[i].menuName));
  226.  
  227.                                 // Berechnen der Selectbox 2
  228.                                 var contains = false;
  229.                                 for (var x=0; x<document.getElementById("selectBox2").options.length; x++) {
  230.                                     if (document.getElementById("selectBox2").options[x].value == lMenupunkte[i].parentMenupunkt.menuName) {
  231.                                         contains = true;
  232.                                     }
  233.                                 }
  234.                                 if (!contains) {
  235.                                     document.getElementById("selectBox2").appendChild(new Option(lMenupunkte[i].parentMenupunkt.menuName, lMenupunkte[i].parentMenupunkt.menuName));
  236.                                 }
  237.  
  238.                                 // Berechnen der Selectbox 3
  239.                                 var contains = false;
  240.                                 for (var x=0; x<document.getElementById("selectBox1").options.length; x++) {
  241.                                     if (document.getElementById("selectBox1").options[x].value == lMenupunkte[i].parentMenupunkt.parentMenupunkt.menuName) {
  242.                                         contains = true;
  243.                                     }
  244.                                 }
  245.                                 if (!contains == true) {
  246.                                     document.getElementById("selectBox1").appendChild(new Option(lMenupunkte[i].parentMenupunkt.parentMenupunkt.menuName, lMenupunkte[i].parentMenupunkt.parentMenupunkt.menuName));
  247.                                 }
  248.  
  249.                             }
  250.                         }
  251.                     }
  252.                 }
  253.             }
  254.  
  255.             this.lMenupunktService = new MenupunktService();
  256.  
  257.         </script>
  258.     </head>
  259.     <body onload="lMenupunktService.init()">
  260.         <input id="input1" list="selectBox1" onkeyup="lMenupunktService.changeSelectBoxA()">
  261.         <datalist id="selectBox1">
  262.         </datalist>
  263.  
  264.         <input id="input2" list="selectBox2" onkeyup="lMenupunktService.changeSelectBoxB()">
  265.         <datalist id="selectBox2">
  266.         </datalist>
  267.  
  268.         <input id="input3" list="selectBox3" onkeyup="lMenupunktService.changeSelectBoxC()">
  269.         <datalist id="selectBox3">
  270.         </datalist>
  271.     </body>
  272. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement