简单写了一下,一般来说,在项目里省市区是保存在数据库或者前端页面的js中的,到时候直接查询或者js中用json读取。
一般情况下是省市区三级联动。
现在写的这个是纯java,用的时候需要做一个省类的数组或者List,然后自行添加省市区的数据。
//省类
public class Sheng{
private String name
private ArrayList<Shi> shi= new List<Shi>()
public Sheng(String name){
setName(name)
}
public String getName(){
return name
}
public void setName(String name){
this.name=name
}
public void addShi(Shi shi){
this.shi.add(shi)
}
//TODO
public void printShiList(){
for(Shi s : shi){
System.out.println(s.name)
}
}
}
//市类
public class Sheng{
private name
private String xian[] = new String[]
//TODO
public String getName(){
return name
}
}
1、省市县不建议放在数据库里面,因为你选择不同省市时 要触发查询这样效率太低。我的建议是百度下一个省市县的一个json文件,来进行读取。
2、页面代码就是控制select中option的改变,这个会基本jquery 就可以。
var provinceData//全局变量省市数据var provinceSelect = $("#province") //省下拉框
var citySelect = $("#city")//市下拉框
init()
function init(){
$.getJSON("data/province-city.json",function (data) {
provinceData = data.address //这里因为我的json数据,外面包了一层address
loadProvince()//初始化省
})
}
function loadProvince(){
for(var i=0,j=provinceData.lengthi<ji++){
provinceSelect.append("<option>"+provinceData[i].name+"</option>")
}
}
//省改变是动态改变市下拉框里面的值
function loadCity(ele){
//获取选中的索引
var index = ele.selectedIndex
//记得清空
citySelect.empty()
var province = provinceData[index]
var citys = province.child
for(var i=0,j=citys.lengthi<ji++){
citySelect.append("<option>"+citys[i].name+"</option>")
}
}
不明白的话欢迎提问哈
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)