<script type="text/javascript">
prov();
</script>
<form id="form2">
<ul>
<li>省份<select id="state" name="state_id" onChange="ProvinceOnChange()" ></select></li>
<li>城市<select id="city" name="city_id" onChange="CityOnChange()"></select></li>
<li>區域<select id="area" name="area_id" onChange="AreaOnChange()"></select></li>
<li>二级區域<select id="areab" name="areab_id" onChange="AreabOnChange()"></select></li>
</ul>
<input type="button" onClick="areabsubmit()" value="提 交" />js:function prov(defaultID){
var element="";
$.ajax({
url:'/Worker/prov',//这里是请求省份的地址
type:'POST',
dataType:'text',
error:function(){
},
success:function(data){
var jsonList=eval("("+data+")");
if(jsonList==null){
$("#prov").html("<option value='0'>全部</option>");
return false;
}
else{
for(var i=0;i<jsonList.length;i++){
element=element+"<option value="+jsonList[i]['prov_id']+">"+jsonList[i]['prov']+"</option>";
}
$("#state").html(element);
}
if(defaultID =="true"){
setoption();
}
ProvinceOnChange(defaultID);
return false;
}
/*
var element=element+"<option value="+zonelist.zone_id+">"+zonelist.zone_name+"</option>";
document.getElementById("zone").innerHTML=element;*/
});
}
function ProvinceOnChange(defaultID){
$("#city").html("<option></option>");
var element="";
var id=$("#state");
$.ajax({
url:'/Worker/city',//这里是请求城市的地址
type:'POST',
data:{id:id.val()},
dataType:'text',
error:function(){
},
success:function(data){
var jsonList=eval("("+data+")");
if(jsonList==null){
$("#city").html("<option value='0'>全部</option>");
return false;
}
else{
for(var i=0;i<jsonList.length;i++){
element=element+"<option value="+jsonList[i]['city_id']+">"+jsonList[i]['city']+"</option>";
}
$("#city").html(element);
}
if(defaultID =="true"){
setoption();
}
CityOnChange(defaultID);
return false;
}
/*
var element=element+"<option value="+zonelist.zone_id+">"+zonelist.zone_name+"</option>";
document.getElementById("zone").innerHTML=element;*/
});
}
function CityOnChange(defaultID){
$("#area").html("<option></option>");
var element="";
var id=$("#city");
$.ajax({
url:'/Worker/area',//这里是区域的地址
type:'POST',
data:{id:id.val()},
dataType:'text',
error:function(){
},
success:function(data){
var jsonList=eval("("+data+")");
if(jsonList==null){
$("#area").html("<option value='0'>全部</option>");
return false;
}
else{
for(var i=0;i<jsonList.length;i++){
element=element+"<option value="+jsonList[i]['area_id']+">"+jsonList[i]['area']+"</option>";
}
$("#area").html(element);
}
if(defaultID == "true"){
setoption();
}
AreaOnChange(defaultID);
return false;
}
/*
var element=element+"<option value="+zonelist.zone_id+">"+zonelist.zone_name+"</option>";
document.getElementById("zone").innerHTML=element;*/
});
}
function AreaOnChange(defaultID,id){
if(id!=null){
var id=id;
}else{
var id=$("#area").val();
}
$("#areab").html("<option></option>");
var element="";
/*
$.post('/Worker/getzone',{city_id: y},function(data){
alert(data);
});*/
$.ajax({
url:'/Worker/areab',//这里是请求二级区域的地址
type:'POST',
data:{id:id},
dataType:'text',
error:function(){
},
success:function(data){
var jsonList=eval("("+data+")");
if(jsonList==null){
$("#areab").html("<option value='0'>无</option>");
}
else{
for(var i=0;i<jsonList.length;i++){
element=element+"<option value="+jsonList[i]['areab_id']+">"+jsonList[i]['areab']+"</option>";
}
$("#areab").html(element);
}
if(defaultID == "true"){
setoption();
}
AreabOnChange(defaultID);
return false;
}
/*
var element=element+"<option value="+zonelist.zone_id+">"+zonelist.zone_name+"</option>";
document.getElementById("zone").innerHTML=element;*/
});
}这个是默认设置js:function checkOption(id,value)
{
var select = document.getElementById(id);
var options = select.options;
for(var i=0;i<options.length;i++)
{
if (options[i].value == value)
{
options[i].selected = true;
break;
}
}
}后台php:public function prov(){
$prov = M('Prov');
$result = $prov->cache(true,3600,'xcache')->select();
echo json_encode($result);
}其他类同;设定默认省份,城市,区域(prov参数必须true,不然setoption不运行):
prov("true");
function setoption(){
checkOption('state','{$info.now_state}');//$info.now_state为省份ID
checkOption('city','{$info.now_city}');
checkOption('area','{$info.now_area}');
}
Common.zip
( 26.28 KB 下载:33 次 )
最佳答案