You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
2.7 KiB
89 lines
2.7 KiB
/*
|
|
省市联动
|
|
new PCAS("Province","City")
|
|
new PCAS("Province","City","吉林省")
|
|
new PCAS("Province","City","吉林省","吉林市")
|
|
省市地区联动
|
|
new PCAS("Province","City","Area")
|
|
new PCAS("Province","City","Area","吉林省")
|
|
new PCAS("Province","City","Area","吉林省","松原市")
|
|
new PCAS("Province","City","Area","吉林省","松原市","宁江区")
|
|
|
|
注:省、市、地区提示信息选项的值为""(空字符串)
|
|
*/
|
|
|
|
PCAD="山东省$淄博市,张店区";
|
|
|
|
SPT="--省份--";
|
|
SCT="--城市--";
|
|
SAT="--地区--";
|
|
ShowT=0; //提示文字 0:不显示 1:显示
|
|
|
|
if(ShowT){
|
|
PCAD = SPT + "$" + SCT + "," + SAT + "#" + PCAD;
|
|
}
|
|
PCAArea = [];
|
|
PCAP = [];
|
|
PCAC = [];
|
|
PCAA = [];
|
|
PCAN = PCAD.split("#");
|
|
for(i = 0; i < PCAN.length; i++){
|
|
PCAA[i] = [];
|
|
TArea = PCAN[i].split("$")[1].split("|");
|
|
for(j = 0; j < TArea.length; j++){
|
|
PCAA[i][j] = TArea[j].split(",");
|
|
if (PCAA[i][j].length == 1) PCAA[i][j][1] = SAT;
|
|
TArea[j] = TArea[j].split(",")[0]
|
|
}
|
|
PCAArea[i] = PCAN[i].split("$")[0] + "," + TArea.join(",");
|
|
PCAP[i] = PCAArea[i].split(",")[0];
|
|
PCAC[i] = PCAArea[i].split(',')
|
|
}
|
|
function PCAS(){
|
|
this.SelP = document.getElementsByName(arguments[0])[0];
|
|
this.SelC = document.getElementsByName(arguments[1])[0];
|
|
this.SelA = document.getElementsByName(arguments[2])[0];
|
|
this.DefP = this.SelA ? arguments[3] : arguments[2];
|
|
this.DefC = this.SelA ? arguments[4] : arguments[3];
|
|
this.DefA = this.SelA ? arguments[5] : arguments[4];
|
|
this.SelP.PCA = this;
|
|
this.SelC.PCA = this;
|
|
this.SelP.onchange=function(){
|
|
PCAS.SetC(this.PCA)
|
|
};
|
|
if (this.SelA) this.SelC.onchange=function(){
|
|
PCAS.SetA(this.PCA)
|
|
};
|
|
PCAS.SetP(this)
|
|
};
|
|
PCAS.SetP=function(PCA){
|
|
for(i = 0; i < PCAP.length; i++){
|
|
PCAPT = PCAPV = PCAP[i];
|
|
if (PCAPT == SPT) PCAPV = "";
|
|
PCA.SelP.options.add(new Option(PCAPT, PCAPV));
|
|
if (PCA.DefP == PCAPV) PCA.SelP[i].selected = true
|
|
}
|
|
PCAS.SetC(PCA)
|
|
};
|
|
PCAS.SetC=function(PCA){
|
|
PI = PCA.SelP.selectedIndex;
|
|
PCA.SelC.length = 0;
|
|
for(i = 1; i < PCAC[PI].length; i++){
|
|
PCACT = PCACV = PCAC[PI][i];
|
|
if (PCACT == SCT) PCACV = "";
|
|
PCA.SelC.options.add(new Option(PCACT, PCACV));
|
|
if (PCA.DefC == PCACV) PCA.SelC[i - 1].selected = true
|
|
}
|
|
if (PCA.SelA) PCAS.SetA(PCA)
|
|
};
|
|
PCAS.SetA=function(PCA){
|
|
PI = PCA.SelP.selectedIndex;
|
|
CI = PCA.SelC.selectedIndex;
|
|
PCA.SelA.length = 0;
|
|
for(i = 1; i < PCAA[PI][CI].length; i++){
|
|
PCAAT = PCAAV = PCAA[PI][CI][i];
|
|
if (PCAAT == SAT) PCAAV = "";
|
|
PCA.SelA.options.add(new Option(PCAAT, PCAAV));
|
|
if (PCA.DefA == PCAAV) PCA.SelA[i - 1].selected = true
|
|
}
|
|
} |