json的理解

来源:互联网 发布:淘宝彩印 编辑:程序博客网 时间:2024/06/05 17:55

以前看过一个jquery做的省,市,县的联动(主要是json),不过最近帮同事看一个类似的功能,突然想不起了,还得在看一遍啊...

 

大概思路应该都知道哈,每个select发生改变的时候,触发事件。。

jQuery("#selectProvince").change(function(){

var provinceid=jQuery("#selectProvince").val();  //获取选中的id,主要传参数$("#selectCity option").remove();$("#selectArea option").remove();     //把selectCity,selectArea下拉框中的option清空jQuery.ajax({type: 'GET',url: 'getxian.php?id='+provinceid,dataType: 'json',                         //规定返回的格式是jsonsuccess: function(rlt) {if(rlt.length==0){               //判断rlt对象的长度若为0,下面无数据jQuery("#selectCity").append("<option value='0'>暂无数据</option>");jQuery("#selectArea").append("<option value='0'>暂无数据</option>");    //增加新的option选项,比js容易多了!jQuery("#ddZip").html("");      //div内容清空jQuery("#ddCode").html("");   }else{jQuery("#selectCity").append("<option value='0'>请选择</option>");jQuery.each(rlt, function(k, v){   //哈哈,这里开始遍历对象了jQuery("#selectCity").append("<option value='"+v.cityid+"'>"+v.city+"</option>");});}}});

}

 

主要说一下json吧,时间有限啊。。。

 

 

$provinceid=$_GET["id"];

$sql="SELECT * FROM `cities` where provinceid=".$provinceid;

$query = mysql_query($sql);

 

$province_list=array();

while($row = mysql_fetch_array($query)){

$province_list[$row['cityid']]['cityid']=$row['cityid'];

$province_list[$row['cityid']]['city']=$row['city'];

}

echo json_encode($province_list);  //二维数组用json_encode重新转化

 

 

那前台会自动转化为json格式的,像 

{"110100":{"cityid":"110100","city":"/u5e02/u8f96/u533a"},"110200":{"cityid":"110200","city":"/u53bf"}}

 

那遍历对象就明白了吧。。

jQuery.each(rlt, function(k, v){

jQuery("#selectCity").append("<option value='"+v.cityid+"'>"+v.city+"</option>");

});

 

 

有什么问题,欢迎指出,今天还有事,就到这吧。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

原创粉丝点击