<!
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd" >
< html >
< head >
< meta http-equiv ="Content-Type" content ="text/html; charset=gb2312" >
< title >sample </ title >
</ head >
< body >
< select id ="ddlGameName" onChange ="game_onchange_callback(this.options.value)" ></ select >
< select id ="ddlArea" onChange ="area_onchange_callback(this.options.value)" ></ select >< select id ="ddlServer" ></ select >
< script language ="javascript" >
<!--
function Hashtable() {
this ._hash = new Object();
// add()
this .add = function (key,value){
if ( typeof (key) != " undefined " ){
if ( this .contains(key) == false ){
this ._hash[key] = typeof (value) == " undefined " ? null :value;
return true ;
} else {
return false ;
}
} else {
return false ;
}
}
// remove()
this .remove = function (key){ delete this ._hash[key];}
// count
this .count = function (){ var i = 0 ; for ( var k in this ._hash){i ++ ;} return i;}
// items
this .items = function (key){ return this ._hash[key];}
// contains
this .contains = function (key){ return typeof ( this ._hash[key]) != " undefined " ;}
// clear
this .clear = function (){ for ( var k in this ._hash){ delete this ._hash[k];}}
}
var gameString = " --请选择--|,挑战|挑战;1,EVE|EVE;2,魔兽世界|魔兽世界;3,其它游戏|其它游戏;0 " ;
var gameArray = gameString.split(',');
var areaHT = new Hashtable();
areaHT.add( " 1 " , " --请选择--,上海电信一,上海电信二,绿色网通一 " );
areaHT.add( " 2 " , " --请选择--,电信 " );
areaHT.add( " 3 " , " --请选择--,世界一,世界二 " );
var serverHT = new Hashtable();
serverHT.add( " 1上海电信一 " , " 一线,二线,三线 " );
serverHT.add( " 1上海电信二 " , " 一线,二线 " );
serverHT.add( " 1绿色网通一 " , " 一线 " );
serverHT.add( " 2电信 " , " 1 " );
serverHT.add( " 3世界一 " , " 1,2,3,4,5,6 " );
serverHT.add( " 3世界二 " , " 1,2,3,4 " );
var gameObjID = " ddlGameName " ;
var areaObjID = " ddlArea " ;
var serverObjID = " ddlServer " ;
function GetNameFromString(str)
{
return str.split(' | ')[ 0 ];
}
function GetIDFromString(str)
{
return str.split(' | ')[ 1 ];
}
function GetObjectById(objID)
{
return document.getElementById(objID);
}
function ClearList(objID)
{
GetObjectById(objID).options.length = 0 ;
GetObjectById(objID).options[ 0 ] = new Option( "" , "" );
}
function game_onchange_callback(val)
{
if (val == "" || val.split(';')[ 1 ] == " 0 " ) {
ClearList(areaObjID);
ClearList(serverObjID);
return ;
}
InitArea(val.split(';')[ 1 ]);
ClearList(serverObjID);
}
function area_onchange_callback(val)
{
if (val == " --请选择-- " ) {
ClearList(serverObjID);
return ;
}
InitServer(val);
}
function InitGame()
{
GetObjectById(gameObjID).options.length = 0 ;
for ( var i = 0 ; i < gameArray.length; ++ i)
{
gameStr = gameArray[i];
GetObjectById(gameObjID).options[i] = new Option(GetNameFromString(gameStr), GetIDFromString(gameStr));
}
}
function InitArea(gameID)
{
var ary = areaHT.items(gameID).split(',');
GetObjectById(areaObjID).options.length = 0 ;
for ( var i = 0 ; i < ary.length; ++ i)
{
str = ary[i];
GetObjectById(areaObjID).options[i] = new Option(str, str);
}
}
function InitServer(areaName)
{
var gameObj = GetObjectById(gameObjID);
var complexID = gameObj.options[gameObj.options.selectedIndex].value.split(';')[ 1 ] + areaName;
var ary = serverHT.items(complexID).split(',');
GetObjectById(serverObjID).options.length = 0 ;
for ( var i = 0 ; i < ary.length; ++ i)
{
str = ary[i];
GetObjectById(serverObjID).options[i] = new Option(str, str);
}
}
InitGame();
// -->
</ script >
</ body >
</ html >
"http://www.w3.org/TR/html4/loose.dtd" >
< html >
< head >
< meta http-equiv ="Content-Type" content ="text/html; charset=gb2312" >
< title >sample </ title >
</ head >
< body >
< select id ="ddlGameName" onChange ="game_onchange_callback(this.options.value)" ></ select >
< select id ="ddlArea" onChange ="area_onchange_callback(this.options.value)" ></ select >< select id ="ddlServer" ></ select >
< script language ="javascript" >
<!--
function Hashtable() {
this ._hash = new Object();
// add()
this .add = function (key,value){
if ( typeof (key) != " undefined " ){
if ( this .contains(key) == false ){
this ._hash[key] = typeof (value) == " undefined " ? null :value;
return true ;
} else {
return false ;
}
} else {
return false ;
}
}
// remove()
this .remove = function (key){ delete this ._hash[key];}
// count
this .count = function (){ var i = 0 ; for ( var k in this ._hash){i ++ ;} return i;}
// items
this .items = function (key){ return this ._hash[key];}
// contains
this .contains = function (key){ return typeof ( this ._hash[key]) != " undefined " ;}
// clear
this .clear = function (){ for ( var k in this ._hash){ delete this ._hash[k];}}
}
var gameString = " --请选择--|,挑战|挑战;1,EVE|EVE;2,魔兽世界|魔兽世界;3,其它游戏|其它游戏;0 " ;
var gameArray = gameString.split(',');
var areaHT = new Hashtable();
areaHT.add( " 1 " , " --请选择--,上海电信一,上海电信二,绿色网通一 " );
areaHT.add( " 2 " , " --请选择--,电信 " );
areaHT.add( " 3 " , " --请选择--,世界一,世界二 " );
var serverHT = new Hashtable();
serverHT.add( " 1上海电信一 " , " 一线,二线,三线 " );
serverHT.add( " 1上海电信二 " , " 一线,二线 " );
serverHT.add( " 1绿色网通一 " , " 一线 " );
serverHT.add( " 2电信 " , " 1 " );
serverHT.add( " 3世界一 " , " 1,2,3,4,5,6 " );
serverHT.add( " 3世界二 " , " 1,2,3,4 " );
var gameObjID = " ddlGameName " ;
var areaObjID = " ddlArea " ;
var serverObjID = " ddlServer " ;
function GetNameFromString(str)
{
return str.split(' | ')[ 0 ];
}
function GetIDFromString(str)
{
return str.split(' | ')[ 1 ];
}
function GetObjectById(objID)
{
return document.getElementById(objID);
}
function ClearList(objID)
{
GetObjectById(objID).options.length = 0 ;
GetObjectById(objID).options[ 0 ] = new Option( "" , "" );
}
function game_onchange_callback(val)
{
if (val == "" || val.split(';')[ 1 ] == " 0 " ) {
ClearList(areaObjID);
ClearList(serverObjID);
return ;
}
InitArea(val.split(';')[ 1 ]);
ClearList(serverObjID);
}
function area_onchange_callback(val)
{
if (val == " --请选择-- " ) {
ClearList(serverObjID);
return ;
}
InitServer(val);
}
function InitGame()
{
GetObjectById(gameObjID).options.length = 0 ;
for ( var i = 0 ; i < gameArray.length; ++ i)
{
gameStr = gameArray[i];
GetObjectById(gameObjID).options[i] = new Option(GetNameFromString(gameStr), GetIDFromString(gameStr));
}
}
function InitArea(gameID)
{
var ary = areaHT.items(gameID).split(',');
GetObjectById(areaObjID).options.length = 0 ;
for ( var i = 0 ; i < ary.length; ++ i)
{
str = ary[i];
GetObjectById(areaObjID).options[i] = new Option(str, str);
}
}
function InitServer(areaName)
{
var gameObj = GetObjectById(gameObjID);
var complexID = gameObj.options[gameObj.options.selectedIndex].value.split(';')[ 1 ] + areaName;
var ary = serverHT.items(complexID).split(',');
GetObjectById(serverObjID).options.length = 0 ;
for ( var i = 0 ; i < ary.length; ++ i)
{
str = ary[i];
GetObjectById(serverObjID).options[i] = new Option(str, str);
}
}
InitGame();
// -->
</ script >
</ body >
</ html >