设为首页 收藏本站
查看: 488|回复: 0

[经验分享] Extjs3+MySQL后台数据库实现省份城市二级联动

[复制链接]

尚未签到

发表于 2016-10-24 00:15:06 | 显示全部楼层 |阅读模式
 Extjs+MySQL后台数据库实现省份城市二级联动
基本代码如下:
Ext.onReady(function(){
Ext.QuickTips.init();
Ext.BLANK_IMAGE_URL = "../js/Ext/resources/images/default/s.gif";
var storeProvince = new Ext.data.JsonStore({
url:"http://localhost/procity/servlet/ProCityServlet",
fields:["proid", "proname"]
});
var storeCity = new Ext.data.JsonStore({
url:"",
fields:["city", "cityname"]
});
var storeCounty = new Ext.data.JsonStore({
fields:["value", "text"],
data:[]
});
var form = new Ext.form.FormPanel({
title:"Register",
frame:true,
border:false,
labelAlign:"right",
width:500,
autoHeight:true,
//defaultType:"textfield",
//layout:"form",
buttonAlign:"center",
labelWidth:55,
url:"request.jsp",
items:[{
xtype:"textfield",
id:"username",
fieldLabel:"用户名",
emptyText:"www.xiless.com",
allowBlank:false,
msgTarget:"side",
minLength:3,
maxLength:20,
anchor:"50%",
name:"username"
}, {
xtype:"textfield",
fieldLabel:"年龄",
id:"age",
emptyText:"22",
anchor:"50%"
}, {
fieldLabel:"出生日期",
xtype:"datefield",
anchor:"50%",
format:"Y-m-d",
emptyText:"1988-12-11"
},{
fieldLabel:"工作时间",
xtype:"timefield",
minValue: "9:00 AM",
maxValue: "6:00 PM",
increment: 30,
anchor:"50%",
emptyText:"9:00 AM"
},{
xtype:"textfield",
fieldLabel:"地址",
id:"address",
emptyText:"address",
anchor:"50%"
}, {
xtype:"textfield",
fieldLabel:"电子邮件",
id:"email",
emptyText:"weijunfeng126@126.com",
anchor:"50%"
}, {
xtype:"textfield",
fieldLabel:"联系方式",
id:"linkphone",
emptyText:"88888888",
anchor:"50%"
}, {
fieldLabel:"省",
id:"province",
name:"province",
hiddenName:"sex",
xtype:"combo",
emptyText:"请选择省份",
mode:"local",
triggerAction:"all",
valueField:"proid",
displayField:"proname",
editable:false,
mode:"remote",
store:storeProvince
},{
fieldLabel:"市",
name:"city",
id:"city",
hiddenName:"sex",
xtype:"combo",
emptyText:"请选择省市",
mode:"local",
triggerAction:"all",
valueField:"city",
displayField:"cityname",
editable:false,
//value:"男",
//forceSelection:true,
store:storeCity
},{
fieldLabel:"区",
name:"county",
hiddenName:"sex",
xtype:"combo",
emptyText:"请选择区",
mode:"local",
triggerAction:"all",
valueField:"value",
displayField:"text",
editable:false,
//value:"男",
//forceSelection:true,
store:storeCounty
},{
fieldLabel:"备注",
xtype:"htmleditor",
anchor:"98%",
autoHeight:true,
enableSourceEdit:false,
enableLinks:false,
enableFont:true,
fontFamilies:["黑体", "仿宋", "宋体", "楷体"]
},{
xtype:"hidden",
id:"hiddenId",
value:"www.xiless.com"
}],
buttons:[{
text:"登陆",
handler:function() {
var username = form.findById("username");
//alert(username.getValue());
//alert(form.findById("hiddenId").getValue());
// Ext.Msg.alert("系统提示", form.findById("hiddenId").getValue());
form.getForm().submit({
success:function(fosrm, action) {
alert(action.result.msg);
form.getForm().reset();
win.hide();
//form.hide();
},
failure:function() {
alert("失败");
}
});
}
}, {
text:"取消",
//type:"reset",
handler:function() {
form.getForm().reset();
}
}]
});
form.render("form");
form.get("province").on("select", function(combo) {
var province = combo.getValue();
storeCity.removeAll();
storeCity.proxy = new Ext.data.HttpProxy({
url:"http://localhost/procity/servlet/ProCityServlet?id=" + province
});
storeCity.reload();
});
});


/**
 * 省份城市Servlet
 *
 * @author xiaowei
 *
 */
public class ProCityServlet extends HttpServlet {
 public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  doPost(request, response);
 }
 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  response.setCharacterEncoding("UTF-8");
  if(request.getParameter("id") != "" && request.getParameter("id") != null) {
   getCityList(request, response);
  } else {
   getProList(request, response);
  }
 }
 public void getProList(HttpServletRequest request,
   HttpServletResponse response) throws ServletException, IOException {
  response.setCharacterEncoding("UTF-8");
  ProCityManager mgr = new ProCityManagerImpl();
  List<Province> list = mgr.getProList();
  JSONArray jarr = new JSONArray();
  for (Province p : list) {
   JSONObject obj = new JSONObject();
   obj.put("proid", p.getProid());
   obj.put("proname", p.getProname());
   jarr.add(p);
  }
  response.getWriter().println(jarr);
  //System.out.println(jarr);
 }
 public void getCityList(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  response.setCharacterEncoding("UTF-8");
  int proId = Integer.parseInt(request.getParameter("id"));
  ProCityManager mgr = new ProCityManagerImpl();
  List<City> list = mgr.getCityListByProId(proId);
  JSONArray jarr = new JSONArray();
  for (City c : list) {
   JSONObject obj = new JSONObject();
   obj.put("cityid", c.getCity());
   obj.put("cityname", c.getCityname());
   jarr.add(c);
  }
  response.getWriter().println(jarr);
  //System.out.println(jarr);
 }
}

后台代码见附件中
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-290230-1-1.html 上篇帖子: hibernate利用mysql的自增张id属性实现自增长id和手动赋值id并存 下篇帖子: 常用数据库(MsSql,Oralce,MySql)用SQL实现分页查询
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表