<HTML>
<HEAD>
<TITLE>二维数组示例</TITLE>
</HEAD>
<SCRIPT LANGUAGE=javascript>
//定义二维数组oArray,用于存放城市名称。
var aCity=new Array();
aCity[0]=new Array();
aCity[1]=new Array();
aCity[2]=new Array();
aCity[3]=new Array();
//为二维数组赋值
aCity[0][0]="--请选择--";
aCity[1][0]="--请选择--";
aCity[1][1]="朝阳区";
aCity[1][2]="海淀区";
aCity[1][3]="东城区";
aCity[1][4]="西城区";
aCity[2][0]="--请选择--";
aCity[2][1]="济南市";
aCity[2][2]="青岛市";
aCity[2][3]="潍坊市";
aCity[3][0]="--请选择--";
aCity[3][1]="浦东区";
aCity[3][2]="徐汇区";
aCity[3][3]="虹桥";
function selectCity()
{
var i,iIndex;
iIndex=document.form1.oProvince.selectedIndex; //获取选择的省或区
iCityCount=0;
while (aCity[iIndex][iCityCount]!=null)//通过while循环 计算出选中省份的下属级别的个数
{
iCityCount++;
}
document.form1.oCity.length=iCityCount; //改变第二个下拉框的选项数
for (i=0;i<=iCityCount-1;i++)
{ //改变第二个下拉框的内容
document.form1.oCity[i]=new Option(aCity[iIndex][i]); //创建区或市的下拉列表
//alert(document.form1.oCity[i].text);
}
document.form1.oCity.focus(); //第二个下拉框获得焦点
}
</SCRIPT>
<script language="JavaScript">
var x=3, y=4;
var data = new Array(x);
for (var i=0; i<x; i++)
{
data[i] = new Array(y);
}
for (var i=0; i<x; i++)
{
for (var j=0; j<y; j++)
{
data[i][j] = i + j;
}
}
// var myarr = new Arrqy(3,4)
// 定义的是一个有两个元素的一维数组,3和4是各个元素的值
// 根据二维数组动态生成表格
function buildTable(tableId, data)
{
for (var i=0; i<data.length; i++)
{
var row = document.getElementById(tableId).insertRow();
for (var j=0; j<data[i].length; j++)
{
var cell=row.insertCell(j);
cell.innerText=data[i][j];
}
}
}
</script>
<BODY onfocus=selectCity()>
<table border="1" id="table1"></table>
<input type="button" value="生成表格" onclick="buildTable('table1',data)">
<H3>选择所在的省份及城市</H3>
<FORM NAME="form1">
<P>省份:
<SELECT NAME="oProvince" SIZE="1" ONCHANGE=selectCity()>
<OPTION>--请选择--</OPTION>
<OPTION>北京</OPTION>
<OPTION>山东省</OPTION>
<OPTION>上海</OPTION>
</SELECT>
</P>
<P>城市:
<SELECT NAME="oCity" SIZE="1">
<OPTION>--请选择--</OPTION>
</SELECT>
</P>
</FORM>
</BODY>
</HTML>