<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script>
var categories=[
{
"id":10,
"name":'男装',
"children":[
{"id":101,"name":'正装'},
{"id":102,"name":'T恤'},
{"id":103,"name":'裤子'}
]
},
{
"id":20,
"name":'女装',
"children":[
{"id":201,"name":'正装'},
{"id":202,"name":'T恤'},
{
"id":203,
"name":'裤子',
"children":[
{"id":2031,"name":'正装'},
{"id":2031,"name":'T恤'},
{"id":2031,"name":'裤子'}
]
},
]
},
{
"id":30,
"name":'童装',
"children":[
{"id":301,"name":'正装'},
{
"id":302,
"name":'T恤',
"children":[
{"id":3021,"name":'正装'},
{"id":3021,"name":'T恤'},
{"id":3021,"name":'裤子'}
]},
{"id":303,"name":'裤子'}
]
}
];
</script>
</head>
<body>
<div id="category"></div>
<script>
var div=document.getElementById("category");
function createSelect(arr){
var sel=document.createElement("select");
sel.add(new Option("-请选择-",-1));
for(var i=0;i<arr.length;i++){
sel.add(new Option(arr[i].name,arr[i].id));
}
/*选择改变时,触发事件*/
sel.οnchange=function(){
while(this!=div.lastChild)
div.removeChild(div.lastChild);
var i=this.selectedIndex-1;
if(i>=0&&arr[i].children!==undefined)
createSelect(arr[i].children);
}
div.appendChild(sel);
}
createSelect(categories);
</script>
</body>
</html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script>
var categories=[
{
"id":10,
"name":'男装',
"children":[
{"id":101,"name":'正装'},
{"id":102,"name":'T恤'},
{"id":103,"name":'裤子'}
]
},
{
"id":20,
"name":'女装',
"children":[
{"id":201,"name":'正装'},
{"id":202,"name":'T恤'},
{
"id":203,
"name":'裤子',
"children":[
{"id":2031,"name":'正装'},
{"id":2031,"name":'T恤'},
{"id":2031,"name":'裤子'}
]
},
]
},
{
"id":30,
"name":'童装',
"children":[
{"id":301,"name":'正装'},
{
"id":302,
"name":'T恤',
"children":[
{"id":3021,"name":'正装'},
{"id":3021,"name":'T恤'},
{"id":3021,"name":'裤子'}
]},
{"id":303,"name":'裤子'}
]
}
];
</script>
</head>
<body>
<div id="category"></div>
<script>
var div=document.getElementById("category");
function createSelect(arr){
var sel=document.createElement("select");
sel.add(new Option("-请选择-",-1));
for(var i=0;i<arr.length;i++){
sel.add(new Option(arr[i].name,arr[i].id));
}
/*选择改变时,触发事件*/
sel.οnchange=function(){
while(this!=div.lastChild)
div.removeChild(div.lastChild);
var i=this.selectedIndex-1;
if(i>=0&&arr[i].children!==undefined)
createSelect(arr[i].children);
}
div.appendChild(sel);
}
createSelect(categories);
</script>
</body>
</html>