/**
* ajax無刷新二級聯(lián)動下拉菜單(省市聯(lián)動)
*
* @author arcow <arcow@126.com>
* @version 1.0
* @lastupdate 2005-12-29
*
*/
var http_request = false;
function send_request(url,method) {//初始化、指定處理函數(shù)、發(fā)送請求的函數(shù)
http_request = false;
//開始初始化XMLHttpRequest對象
if(window.XMLHttpRequest) { //Mozilla 瀏覽器
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {//設(shè)置MiME類別
http_request.overrideMimeType(‘text/xml‘);
}
}
else if (window.ActiveXObject) { // IE瀏覽器
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) { // 異常,創(chuàng)建對象實例失敗
window.alert("不能創(chuàng)建XMLHttpRequest對象實例.");
return false;
}
switch(method){
case 1: http_request.onreadystatechange = processRequest1;break;//選擇操作函數(shù)
case 2: http_request.onreadystatechange = processRequest2;break;
case 3: http_request.onreadystatechange = processRequest3;break;
}
// 確定發(fā)送請求的方式和URL以及是否同步執(zhí)行下段代碼
http_request.open("GET", url, true);
http_request.send(null);
}
// 處理返回信息的函數(shù)
function processRequest1() {//操作函數(shù)1,調(diào)入省
if (http_request.readyState == 4) { // 判斷對象狀態(tài)
if (http_request.status == 200) { // 信息已經(jīng)成功返回,開始處理信息
document.getElementById("statusTxt").innerHTML="";
addOptionGroup("province",http_request.responseText);
} else { //頁面不正常
alert("您所請求的頁面有異常。");
}
}else {//只要未讀取完成
document.getElementById("statusTxt").innerHTML="正則讀取數(shù)據(jù)中……";
}
}
function processRequest2() {//操作函數(shù)2,調(diào)入市
if (http_request.readyState == 4) { // 判斷對象狀態(tài)
if (http_request.status == 200) { // 信息已經(jīng)成功返回,開始處理信息
document.getElementById("statusTxt").innerHTML="";
addOptionGroup("city",http_request.responseText);
} else { //頁面不正常
alert("您所請求的頁面有異常。");
}
}else {//只要未讀取完成
document.getElementById("statusTxt").innerHTML="正則讀取數(shù)據(jù)中……";
}
}
function processRequest3() {//操作函數(shù)3,輸入省市
if (http_request.readyState == 4) { // 判斷對象狀態(tài)
if (http_request.status == 200) { // 信息已經(jīng)成功返回,開始處理信息
document.getElementById("statusTxt").innerHTML="";
document.getElementById("district").value=http_request.responseText;
} else { //頁面不正常
alert("您所請求的頁面有異常。");
}
}else {//只要未讀取完成
document.getElementById("statusTxt").innerHTML="正則讀取數(shù)據(jù)中……";
}
}
function loadProvince() {//載入省
send_request("select.server.php?action=province",1);//服務(wù)端處理程序,操作函數(shù)
}
function loadCity() {//載入市
document.getElementById("district").value="";//清空文本框
send_request("select.server.php?action=city&id="+document.getElementById("province").value,2);
}
function inputDistrict() {//向文本框輸入選定的省市
send_request("select.server.php?action=district&id="+document.getElementById("province").value+"&id1="+document.getElementById("city").value,3);
}
addOption.js
function addOption(objSelectNow,txt,val)
{
/// 使用W3C標(biāo)準(zhǔn)語法為SELECT添加Option
var objOption = document.createElement("OPTION");
objOption.text= txt;
objOption.value=val;
objSelectNow.options.add(objOption);
}
function addOptionGroup(selectId,optGroupString)
{
var optGroup = optGroupString.split(",");