Heim > php教程 > php手册 > Mehrstufige Verknüpfung

Mehrstufige Verknüpfung

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-09-02 08:42:18
Original
1135 Leute haben es durchsucht

Die mehrstufige Verknüpfung kann durch direktes Kopieren des Codes ausgeführt werden. Reines Front-End ohne Back-End und Codekomprimierungspaket ist unten enthaltenhtml PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><br> <br>     <kopf><br>         <meta> <br>         <title>JavaScript 自定义多级联动下拉菜单</title> <br>         <script>var $ = function(id) {<br /> <br />                 return "string" == typeof id ? document.getElementById(id) : id;<br /> <br />             };<br /> <br />             Funktion addEventHandler(oTarget, sEventType, fnHandler) {<br /> <br />                 if (oTarget.addEventListener) {<br /> <br />                     oTarget.addEventListener(sEventType, fnHandler, false);<br /> <br />                 } else if (oTarget.attachEvent) {<br /> <br />                     oTarget.attachEvent("on"   sEventType, fnHandler);<br /> <br />                 } else {<br /> <br />                     oTarget["on"   sEventType] = fnHandler;<br /> <br />                 }<br /> <br />             };<br /> <br />             Funktion Each(arrList, fun) {<br /> <br />                 für (var i = 0,<br />                 len = arrList.length; ich < len; i ) {<br />                     fun(arrList[i], i);<br />                 }<br /> <br />             };<br /> <br />             Funktion GetOption(val, txt) {<br /> <br />                 var op = document.createElement("OPTION");<br /> <br />                 op.value = val;<br />                 op.innerHTML = txt;<br /> <br />                 return op;<br /> <br />             };<br /> <br />             var Class = {<br /> <br />                 create: function() {<br /> <br />                     return function() {<br /> <br />                         this.initialize.apply(this, arguments);<br /> <br />                     }<br /> <br />                }<br /> <br />             }<br /> <br />             Object.extend = function(destination, source) {<br /> <br />                 für (Var Eigenschaft in Quelle) {<br /> <br />                     Ziel[Eigenschaft] = Quelle[Eigenschaft];<br /> <br />                 }<br /> <br />                 Rückflugziel;<br /> <br />             }<br /> <br />             var CascadeSelect = Class.create();<br /> <br />             CascadeSelect.prototype = {<br /> <br />                 //select集合,菜单对象<br />                 initialisieren: function(arrSelects, arrMenu, options) {<br /> <br />                     if (arrSelects.length <= 0 || arrMenu.lenght <= 0) return; //菜单对象<br /> <br />                     var oThis = this;<br /> <br />                     this.Selects = []; //select集合<br />                     this.Menu = arrMenu; //菜单对象<br /> <br />                     this.SetOptions(options);<br /> <br />                     this.Default = this.options.Default || [];<br /> <br />                     this.ShowEmpty = !!this.options.ShowEmpty;<br /> <br />                     this.EmptyText = this.options.EmptyText.toString();<br /> <br />                     //设置Selects集合和change事件<br />                     Each(arrSelects,<br />                     Funktion(o, i) {<br /> <br />                         addEventHandler((oThis.Selects[i] = $(o)), "change",<br />                         function() {<br />                             oThis.Set(i);<br />                         });<br /> <br />                     });<br /> <br />                     this.ReSet();<br /> <br />                 },<br /> <br />                 //设置默认属性<br />                  SetOptions: function(options) {<br /> <br /> This.options = { //Standardwert<br />                           Standard: [],<br /> //Standardwert (in der Reihenfolge)<br />                         ShowEmpty: false,<br />                                                                                                                                                                         EmptyText: „Bitte auswählen“ //Anzeigetext für leeren Wert (gültig, wenn ShowEmpty wahr ist)<br />                     };<br /> <br />                    Object.extend(this.options, options || {});<br /> <br />                  },<br /> <br />                                                                                                                                                                                                          Zurücksetzen: function() {<br /> <br /> This.SetSelect(this.Selects[0], this.Menu, this.Default.shift());<br /> <br /> This.Set(0);<br /> <br />                  },<br /> <br /> // Alle Einstellungen auswählen <br />                  Set: function(index) {<br /> <br />                   var menu = this.Menu<br /> <br /> //Die erste Auswahl muss nicht verarbeitet werden, daher beginnt sie bei 1<br /> für (var i = 1,<br /> Len = this.selects.length; i & lt; i) {<br /> <br /> Wenn (menu.length > 0) {<br /> <br />                                                                                                                                                                                            var value = this.Selects[i - 1].value;<br /> <br /> If (value != "") {<br /> <br /> Jedes(Menü,<br /> Funktion(o) {<br /> If (o.val == value) {<br />menu = o.menu ||. [];<br />                                                                                                                                                                                                                                                                                      }                                                                           }); <br /> } Sonst {<s> Menü = [];<br />                                              } <br />                                                                                                                                  If (i > index) {<br /> This.SetSelect(this.Selects[i], menu, this.Default.shift());<br />                                              } <br /> } Sonst {<s> <br />                                                                                                                                                                    This.SetSelect(this.Selects[i], [], "");<br /> <br />                                                      } <br />                   }<br /> <br />                                                                                                                                                                                       This.Default.length = 0;<br /> <br />                  },<br /> <br />                                  //Einstellungen auswählen<br />                   SetSelect: function(oSel, menu, value) {<br /> <br />                     oSel.options.length = 0;<br /> oSel.disabled = false;<br /> <br /> If (this.ShowEmpty) {<br />                       oSel.appendChild(GetOption("", this.EmptyText));<br />                   }<br /> <br /> If (menu.length <= 0) {<br /> oSel.disabled = true;<br />                        zurück ; <br />                     }<br /> <br />                     Jedes (Menü, <br />                     Funktion ( o ) { <br /> <br />                         var op = GetOption(o.val, o.txt ? o.txt: o.val);<br />                         op.selected = (value == op.value);<br /> <br />                         oSel. appendChild (up); <br />                     });<br /> <br />                 },<br /> <br />                 //Unterhaltung<br />                 Hinzufügen: Funktion (Menü) { <br /> <br />                     this.Menu[this.Menu.length] = menu;<br /> <br />                     this.ReSet();<br /> <br />                 },<br /> <br />                 //Englische Unterhaltung<br />                 Löschen: Funktion (index) { <br /> <br />                     if (index < 0 || index > = this. Menu. length) return; <br />                     for ( var i = index , <br />                     len = this.Menu.length -- 1; ich < len; i ) {<br />                         this.Menu[i] = this.Menu[i1];<br />                     }<br /> <br />                     this.Menu.pop()<br /> <br />                     this.ReSet();<br /> <br />                 }<br /> <br />             };<br /> <br />             Fenster . onload = function ( ) { <br /> <br />                 var menu = [<br /> <br />                 {<br />                     'val': '1',<br />                     'txt': 'value'<br />                 },<br /> <br />                 {<br />                     'val': '2 ->',<br />                    'Menü': [<br /> <br />                     {<br />                         'val': '2_1'<br />                     },<br /> <br />                     {<br />                         'val': '2_2'<br />                     }<br /> <br />                     ]<br />                 },<br /> <br />                 {<br />                     'val':'3 ->',<br />                     'Menü': [<br /> <br />                     {<br />                         'val':'3_1 ->',<br />                         'Menü': [<br /> <br />                         {<br />                             'val': '3_1_1'<br />                         },<br /> <br />                         {<br />                             'val': '3_1_2'<br />                         }<br /> <br />                         ]<br />                     },<br /> <br />                     {<br />                         'val': '3_2'<br />                     }<br /> <br />                     ]<br />                 },<br /> <br />                 {<br />                     'val':'4 ->',<br />                     'Menü': [<br /> <br />                     {<br />                        'val':'4_1 ->',<br />                         'Menü': [<br /> <br />                         {<br />                             'val':'4_1_1 ->',<br />                             'Menü': [<br /> <br />                             {<br />                                 'val':'4_1_1_1'<br />                             }<br /> <br />                             ]<br />                         }<br /> <br />                         ]<br />                     }<br /> <br />                     ]<br />                 }<br /> <br />                 ];<br /> <br />                 var sel = ["sel1", "sel2", "sel3", "sel4", "sel5"];<br /> <br />                 var val = ["3 ->", "3_1 ->", "3_1_2"];<br /> <br />                 var cs = new CascadeSelect(sel, menu, {<br />                     Standard: Herbst<br />                 });<br /> <br />                 $("btnA").onclick = function() {<br />                     cs.ShowEmpty = !cs.ShowEmpty;<br />                 }<br /> <br />                 $("btnB").onclick = function() {<br /> <br />                     cs.Add(<br /> <br />                     {<br />                         'val':'5 ->',<br />                         'Menü': [<br /> <br />                         {<br />                            'val': '5_1 ->',<br />                             'Menü': [<br /> <br />                             {<br />                                 'val': '5_1_1 ->',<br />                                 'Menü': [<br /> <br />                                 {<br />                                     'val': '5_1_1_1 ->',<br />                                     'Menü': [<br /> <br />                                     {<br />                                         'val': '5_1_1_1_1'<br />                                     }<br /> <br />                                     ]<br />                                 }<br /> <br />                                 ]<br />                             }<br /> <br />                             ]<br />                         }<br /> <br />                         ]<br />                     }<br /> <br />                     )<br /> <br />                 }<br /> <br />                 $("btnC").onclick = function() {<br /> <br />                     cs.Delete(3)<br /> <br />                 }<br /> <br />             }</script><br>         <style>.sel select{ width:100px;}</style> <br><br>            <div class="sel"> <br>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           <select id="sel5"></select><br>                                                                                                                                                                                                                                                                                                                                                                                                                                        <input id="btnA" type="button" value="Leere Werte anzeigen/nicht anzeigen"><br>                   <input type="button" value="Menü hinzufügen"><br>                 <input id="btnC" type="button" value="Menü reduzieren"> </div> <br> <br> </kopf>

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage