通过ajax请求电话归属地,根据返回的值来默认选择用户所在地的二级联动下拉列表,
第一个下拉列表的
document.getElementById("province").options[i].selected=true;
以后,触发onchange事件联动城市下拉列表,详见下面代码:
//根据手机或者座机号码选定地区下拉列表
function getArea(inValue, isMobile)
{
var m;
var mobile = document.getElementById("mobile");
if (inValue == null || inValue.length <7)
{
return;//如果电话号码为空或者长度小于7则返回
}
if (isMobile)
{
m = inValue.substr(0,7);
} else {
//如果填写手机号码则以手机号码归属地为主,不再执行座机判断
if (mobile.value != null && mobile.value.length>6 )
{
return;
}
m = inValue.substr(0,4);
}
//ajax请求
doajax("ajax.php?action=get_area&p="+m,function(responseValue){
if (responseValue == null || responseValue=="")
{
return;//如果不存在则返回不做处理
}
var area = responseValue.split('|');//对返回值分割,'|'为标记[0]为省份,[1]为城市
var proSize = document.getElementById("province").options.length;//获得省份下来列表长度
//循环省份下拉列表的值
for (i=0;i<proSize ;i++ )
{
var getProValue = document.getElementById("province").options[i].value;
if (getProValue.substr(0,2) == area[0].substr(0,2))
{
//如果该值和获得的省份相等则选中该项
document.getElementById("province").options[i].selected=true;
//监听触发此Select框的onchange事件
document.getElementById("province").fireEvent('onchange');
break;
}
}
var citySize = document.getElementById("city").options.length;//获得城市下拉列表
for (j=0;j<citySize ;j++ )
{
var getCityValue = document.getElementById("city").options[j].value;
if (getCityValue.substr(0,2) == area[1].substr(0,2))
{
document.getElementById("city").options[j].selected=true;
break;
}
}
},1);
return;
}
function getArea(inValue, isMobile)
{
var m;
var mobile = document.getElementById("mobile");
if (inValue == null || inValue.length <7)
{
return;//如果电话号码为空或者长度小于7则返回
}
if (isMobile)
{
m = inValue.substr(0,7);
} else {
//如果填写手机号码则以手机号码归属地为主,不再执行座机判断
if (mobile.value != null && mobile.value.length>6 )
{
return;
}
m = inValue.substr(0,4);
}
//ajax请求
doajax("ajax.php?action=get_area&p="+m,function(responseValue){
if (responseValue == null || responseValue=="")
{
return;//如果不存在则返回不做处理
}
var area = responseValue.split('|');//对返回值分割,'|'为标记[0]为省份,[1]为城市
var proSize = document.getElementById("province").options.length;//获得省份下来列表长度
//循环省份下拉列表的值
for (i=0;i<proSize ;i++ )
{
var getProValue = document.getElementById("province").options[i].value;
if (getProValue.substr(0,2) == area[0].substr(0,2))
{
//如果该值和获得的省份相等则选中该项
document.getElementById("province").options[i].selected=true;
//监听触发此Select框的onchange事件
document.getElementById("province").fireEvent('onchange');
break;
}
}
var citySize = document.getElementById("city").options.length;//获得城市下拉列表
for (j=0;j<citySize ;j++ )
{
var getCityValue = document.getElementById("city").options[j].value;
if (getCityValue.substr(0,2) == area[1].substr(0,2))
{
document.getElementById("city").options[j].selected=true;
break;
}
}
},1);
return;
}