$.ajax({}):发送数据是json的格式:{}表示json格式
success:回调函数 function(result){} result用来接收服务器返回的数据
type:请求类型 get post 默认是get
data:传递的数据 数据之间用&,可以是字符串或者是json格式
json格式:data:{name:"",realname:""} 属性值要加“” 不加就当做一个变量解析了
url:请求的url
cache:默认是true 缓存
async:默认为true
记住:属性值加“”,除了值boolean类型
前台ajax里面汉字不需要转码,后台需要转码
每个后面用逗号,隔开
2.ajax的get方式的请求:
$.get(url,data,success);
url加“”,data:{属性名:"属性值",属性名:"属性值"},
success:function(result){
}
记住:只需要三个参数,u d s
3.ajax的post请求:
$.post("url",data,success);
url加“”,data:{属性名:"属性值",属性名:"属性值"},
success:function(result){
}
记住:只需要三个参数,u d s
4.省市联动
select:三个select下拉列表
select属性: name,id
css:设置select样式,width,font-size,line-height行高,防止字体挤到一起
servlet:一个
script:函数:
1.查询所有省:根据父id,查找区县,
function getProvince(){
$.post("",{parentid:0},function(result){
//得到数组
var vararray = JSON.parse(result);
//得到另一个下拉列表元素对象
var $("#select01")
//遍历每个省 结果放在option,每次创建一个option,中间连接获取的对象省的值
"<option value="+vararray[i].areaid+">vararray[i].areaname</option>"
父jq对象.append(子jq对象);
getCity();
});//post无缓存
}
2.servlet:
处理乱码
获取parentID,jdbc,
查找数据库parentid的区域
sql,预处理,?设置值,查找,
得到结果集,获取每个地区的属性值
创建对象,初始化参数,用结果集得多参数的值
resultSet.getInt(n);
创建全局集合
把地区添加到集合中
//返回给ajax
判断集合中是否有值,有就返回,
resp.getWrite().print(集合对象);
//此时得到的是数组套数组格式,需要转换为json格式
创建json对象,
String json = new Gson().toJson(集合对象);
//
3.创建对象:存放数据更方便
属性:areaid,areaname,parentid,
arealevel,status,
//
服务器响应数据三种格式:文本,xml,json
获取json数据方式:el,json.parse()转为数组
4.获取县
给每个省的option添加一个onchange事件
查询对应省的城市
function getCity(){
从select1中获取选中省的id,
$().val();
$.post("",{parentid:varareaid},function(){
得到select2元素
每个option要添加areaid--拼接在上面
解析数据
清空子节点
遍历数组
创建option
添加节点
getTown();//
});
//记住:每次都要清空一下节点,否则就都连在一起
}
5.得到市下的县
function getTown(){
//获取市的areaid
$("#select2").val();
//发送post请求
$.post("",{},function(result){
//转换结果json为数组
}
}
6.刚开始不显示市和县
getProvidence下自动调用查询市的方法
getCity自动调用县的方法
记住:自动调用都放在回调函数里面,放在外面不起作用
在县和市中提交的数据是对应上级的areaid,后台根据areaid,查询parentid为areaid可以查询出parentid下的孩子
每次遍历完成后要清空孩子
关系图:
北京的parentid 0 areaid 1000
海淀 parentid 1000 areaid 100010
黄庄 parentid 100010 areaid 10001010
success:回调函数 function(result){} result用来接收服务器返回的数据
type:请求类型 get post 默认是get
data:传递的数据 数据之间用&,可以是字符串或者是json格式
json格式:data:{name:"",realname:""} 属性值要加“” 不加就当做一个变量解析了
url:请求的url
cache:默认是true 缓存
async:默认为true
记住:属性值加“”,除了值boolean类型
前台ajax里面汉字不需要转码,后台需要转码
每个后面用逗号,隔开
2.ajax的get方式的请求:
$.get(url,data,success);
url加“”,data:{属性名:"属性值",属性名:"属性值"},
success:function(result){
}
记住:只需要三个参数,u d s
3.ajax的post请求:
$.post("url",data,success);
url加“”,data:{属性名:"属性值",属性名:"属性值"},
success:function(result){
}
记住:只需要三个参数,u d s
4.省市联动
select:三个select下拉列表
select属性: name,id
css:设置select样式,width,font-size,line-height行高,防止字体挤到一起
servlet:一个
script:函数:
1.查询所有省:根据父id,查找区县,
function getProvince(){
$.post("",{parentid:0},function(result){
//得到数组
var vararray = JSON.parse(result);
//得到另一个下拉列表元素对象
var $("#select01")
//遍历每个省 结果放在option,每次创建一个option,中间连接获取的对象省的值
"<option value="+vararray[i].areaid+">vararray[i].areaname</option>"
父jq对象.append(子jq对象);
getCity();
});//post无缓存
}
2.servlet:
处理乱码
获取parentID,jdbc,
查找数据库parentid的区域
sql,预处理,?设置值,查找,
得到结果集,获取每个地区的属性值
创建对象,初始化参数,用结果集得多参数的值
resultSet.getInt(n);
创建全局集合
把地区添加到集合中
//返回给ajax
判断集合中是否有值,有就返回,
resp.getWrite().print(集合对象);
//此时得到的是数组套数组格式,需要转换为json格式
创建json对象,
String json = new Gson().toJson(集合对象);
//
3.创建对象:存放数据更方便
属性:areaid,areaname,parentid,
arealevel,status,
//
服务器响应数据三种格式:文本,xml,json
获取json数据方式:el,json.parse()转为数组
4.获取县
给每个省的option添加一个onchange事件
查询对应省的城市
function getCity(){
从select1中获取选中省的id,
$().val();
$.post("",{parentid:varareaid},function(){
得到select2元素
每个option要添加areaid--拼接在上面
解析数据
清空子节点
遍历数组
创建option
添加节点
getTown();//
});
//记住:每次都要清空一下节点,否则就都连在一起
}
5.得到市下的县
function getTown(){
//获取市的areaid
$("#select2").val();
//发送post请求
$.post("",{},function(result){
//转换结果json为数组
}
}
6.刚开始不显示市和县
getProvidence下自动调用查询市的方法
getCity自动调用县的方法
记住:自动调用都放在回调函数里面,放在外面不起作用
在县和市中提交的数据是对应上级的areaid,后台根据areaid,查询parentid为areaid可以查询出parentid下的孩子
每次遍历完成后要清空孩子
关系图:
北京的parentid 0 areaid 1000
海淀 parentid 1000 areaid 100010
黄庄 parentid 100010 areaid 10001010