js动态生成级联下拉列表

来源:互联网 发布:300英雄大帝偷跑数据 编辑:程序博客网 时间:2024/04/30 12:17
[html] view plaincopyprint?
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  
  2. <HTML>  
  3. <HEAD>  
  4. <TITLE> 下拉列表联动 </TITLE>  
  5. <META NAME="Generator" CONTENT="EditPlus">  
  6. <META NAME="Author" CONTENT="">  
  7. <META NAME="Keywords" CONTENT="">  
  8. <META NAME="Description" CONTENT="">  
  9. </HEAD>  
  10.   
  11. <BODY>  
  12.     <div id="sel"></div>  
  13. </BODY>  
  14. </HTML>  
  15. <script>  
  16.       
  17.   
  18.     var otext1 = document.createTextNode("类别:");  
  19.     var select = document.createElement("select");  
  20.     var selOption1 = document.createElement("option");  
  21.         selOption1.value = "0";  
  22.         selOption1.innerHTML = "----请选择-----";  
  23.     var selOption2 = document.createElement("option");  
  24.         selOption2.value = "1";  
  25.         selOption2.innerHTML = "--蔬菜--";  
  26.     var selOption3 = document.createElement("option");  
  27.         selOption3.value = "2";  
  28.         selOption3.innerHTML = "--肉类--";  
  29.     var selOption4 = document.createElement("option");  
  30.         selOption4.value = "3";  
  31.         selOption4.innerHTML = "--蛋类--";  
  32.       
  33.     select.appendChild(selOption1);  
  34.     select.appendChild(selOption2);  
  35.     select.appendChild(selOption3);  
  36.     select.appendChild(selOption4);  
  37.   
  38.     var otext2 = document.createTextNode("分类:");  
  39.     var select2 = document.createElement("select");  
  40.     select2.id = "sel2";  
  41.     var selOption11 = document.createElement("option");  
  42.         selOption11.value = "0";  
  43.         selOption11.innerHTML = "----请选择-----";  
  44.   
  45.       
  46.     select2.appendChild(selOption11);  
  47.       
  48.   
  49.     var selDiv = document.getElementById("sel");  
  50.     selDiv.appendChild(otext1);  
  51.     selDiv.appendChild(select);  
  52.     selDiv.appendChild(otext2)  
  53.     selDiv.appendChild(select2);  
  54.   
  55.     var ojson=[  
  56.             {id:1,name:'蔬菜',child:[{id:"1",name:"白菜"},{id:"2",name:"萝卜"},{id:"3",name:"菠菜"}]},  
  57.             {id:2,name:'肉类',child:[{id:"1",name:"猪肉"},{id:"2",name:"羊肉"},{id:"3",name:"牛肉"}]},  
  58.             {id:3,name:'蛋类',child:[{id:"1",name:"鸡蛋"},{id:"2",name:"鹅蛋"},{id:"3",name:"鸭蛋"}]}  
  59.         ];  
  60.   
  61.     select.onchange = function (){  
  62.           
  63.         var objs = document.getElementById("sel2");  
  64.         objs.options.length = 1;  
  65.               
  66.             var olen = ojson.length;  
  67.             for(var i=0;i<olen;i++){  
  68.                 if(this.value == ojson[i].id){  
  69.                     var ochild = ojson[i].child;  
  70.                     var ochildlen = ochild.length;  
  71.                     for(var j=0;j<ochildlen;j++){  
  72.                         var childOption = document.createElement("option");  
  73.                         childOption.value = ochild[j].id;  
  74.                         childOption.innerHTML = ochild[j].name;  
  75.                         objs.appendChild(childOption);  
  76.                     }  
  77.                 }  
  78.             }  
  79.     }  
  80.   
  81.   
  82. </script> 
0 0