87,984
社区成员
发帖
与我相关
我的任务
分享<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>四级联动</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<SCRIPT LANGUAGE="JavaScript">
<!--
// 数据源
var dataOneTwo = {"rows":[
{"text":"A",value:0,"items":[{"text":"A1",value:1},{"text":"A2",value:2}]}
,{"text":"B",value:3,"items":[{"text":"B1",value:4},{"text":"B2",value:5}]}
,{"text":"C",value:6,"items":[{"text":"C1",value:7},{"text":"C2",value:8}]}
]}
var dataTwoThree = {"rows":[
{"text":"A1",value:1,"items":[{"text":"A11",value:10},{"text":"A12",value:11}]}
,{"text":"A2",value:2,"items":[{"text":"A21",value:12},{"text":"A22",value:13}]}
,{"text":"B1",value:4,"items":[{"text":"B11",value:14},{"text":"B12",value:15}]}
,{"text":"B2",value:5,"items":[{"text":"B21",value:16},{"text":"B22",value:17}]}
]}
var dataThreeFour = {"rows":[
{"text":"A11",value:10,"items":[{"text":"0",value:18}]}
,{"text":"A12",value:11,"items":[{"text":"2",value:19}]}
,{"text":"B11",value:14,"items":[{"text":"4",value:20}]}
,{"text":"B12",value:15,"items":[{"text":"6",value:21}]}
,{"text":"A21",value:12,"items":[{"text":"1",value:22}]}
,{"text":"A22",value:13,"items":[{"text":"3",value:23}]}
,{"text":"B21",value:16,"items":[{"text":"5",value:24}]}
,{"text":"B22",value:17,"items":[{"text":"7",value:25}]}
]}
window.onload=function(){
bindData("one",dataOneTwo.rows);
bindEvent();
}
// 绑定数据
function bindData(selDomId,items){
var sel = document.getElementById(selDomId);
var opts = sel.options;
sel.innerHTML = '';
opts.add(new Option("--请选择--",""))
for(var i=0,len=items.length;i<len;i++){
opts.add(new Option(items[i].text,items[i].value))
}
}
function bindEvent(){
bindSelectEvent("one",dataOneTwo,"two");
bindSelectEvent("two",dataTwoThree,"three");
bindSelectEvent("three",dataThreeFour,"four");
}
// 绑定select事件
function bindSelectEvent(domId,srcData,childId){
var sel = document.getElementById(domId);
sel.onchange=function(){
var items = findChild(this,srcData);
bindData(childId,items);
}
}
// 找到子节点数据
function findChild(dom,srcData){
var rows = srcData.rows;
var value = dom.value;
for(var i=0,len=rows.length;i<len;i++){
if(value == rows[i].value){
return rows[i].items;
}
}
return [];
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<select id="one" name=one> </select>
<select id="two" name=two> </select>
<select id="three" name=three> </select>
<select id="four" name=four> </select>
</BODY>
</HTML>