实现三级下拉框联动,使用jquery、json,struts2 json plugin代码怎么实现。

页面导航:
→ 正文内容 下拉框赋值
ajax struts2 下拉框赋值(适合所有)
此代码适合所有下拉列表取值;一个项目所有的下拉列表只需要这一个公用方法,接下来为大家详细介绍下具体实现步骤,感兴趣的朋友可以参考下,希望可以帮助到你
1.此代码适合所有下拉列表取值 2.一个项目所有的下拉列表只需要这一个公用方法; 步骤一:创建实体bean;
代码如下: public class DictionaryBean { private String value_Id;//下拉框option的id private S//下拉框option的值 private S//对应下拉框的值的类型,如flag=1,下拉列表为省份信息,flag=2为市级信息等; public String getValue_Id() { return value_Id; } public void setValue_Id(String valueId) { value_Id = valueId; } public String getValue() {
} public void setValue(String value) { this.value = } public String getFlag() {
} public void setFlag(String flag) { this.flag = } }
步骤二 在你action里面写个如下取listbean的方法,listbean封装的是 bean.valueId 和bean.value;
代码如下: /** * * @author ZhuangZi * @class com.hzdracom.action.DictionaryAction * @method listDictionary * @Directions 获取下拉列表信息公用方法 * @date 上午10:08:39 void */ public void listDictionary(){ String json=""; try{ listDictionary = dictionaryService.handleListDictionary(bean); json=JSON.toJSONString(listDictionary);//转换成json字符串 HttpServletResponse response=ServletActionContext.getResponse(); response.setContentType("text/html"); response.setCharacterEncoding("utf-8"); PrintW out = response.getWriter(); out.println(json); out.flush(); out.close(); }catch(Exception e){ e.printStackTrace(); } }
sturts.xml 配置信息
代码如下: &action name="listDictionary" method ="listDictionary" class="com.hzdracom.action.DictionaryAction"& &&&& &/action&
步骤三 封装公用js代码js文件名字 dictionary.js
代码如下: /** *↓↓↓↓↓↓↓↓↓↓ *作者:ZhuangZi *类名:公用方法初始化 *功能:公用方法初始化 *详细:公用方法初始化 *版本:1.0 *日期: *说明: *↑↑↑↑↑↑↑↑↑↑ */ $(function(){ /*1.下拉框取值↓↓↓*/ selectBox([
代码如下: {id_:"#down_type",id:"#downtype" ,flag:"2"}, {id_:"#kuai_flag",id:"#kuaiflag" ,flag:"3"}]); //selectBox{[{id_:"你的下拉框的被选中值的ID",id:"下拉框的ID",flag:"下拉框值的类型"}]};
代码如下: //有一个{id_:"#kuai_flag",id:"#kuaiflag" ,flag:"3"}这种对象就有一个下拉框信息; }); /** *↓↓↓↓↓↓↓↓↓↓ *作者:ZhuangZi *类名:获取下拉框值公用方法 *功能:下拉列表取值 *详细:加载下拉列表 *版本:1.0 *日期: *说明:如果新加一个下拉框 需要给数组list添加一个对象 *参数:id_:下拉框被选中值的ID;id:下拉框ID;flag:下拉框值的类型,即显示内容类型 *↑↑↑↑↑↑↑↑↑↑ */ function selectBox(list){ for ( var i = 0,len = list. i & i++) { (function(bean){ var pageId=$(bean.id_).val(); $.ajax({ type:'post', url:'../dictionary/listDictionary.do', data:'bean.flag='+bean.flag, dataType:'json', success:function(json){ for(var i=0; i& json.i++){ $(bean.id).append("&option value='" +json[i].value_Id+"'&" +json[i].value+"&/option&"); if(pageId !=null && pageId!="" && pageId==json[i].value_Id){ $(bean.id).find("option").attr("selected",true); } } }, error:function(){ alert('error'); } }); })(list[i]); } }
步骤四 页面信息 下面隐藏域信息 ,就是你选某项查询后,它就会被选中的值 引入js
代码如下: &script language="javascript1.2" src="&s:url value="/js/jquery.js" includeParams="false"/&"&&/script& &script language="javascript1.2" src="&s:url value="/js/dictionary.js" includeParams="false"/&"&&/script&
代码如下: &s:hidden id="down_type" name="yhaoPortalsDownBean.downType"/& &td width="25%" height="33" class="addtabletd1"&下载类型标识:&/td& &td width="25%" height="33" class="addtabletd2"& &select id="downtype" name="yhaoPortalsDownBean.downType" class="textfrom" class="width:120" & &option value=""&---所有---&/option& &/select& &/td&
步骤五 附加信息 dao里面方法 下面方法用到的flag 就是js里面flag传的值
代码如下: public List&DictionaryBean& handleListDictionary(DictionaryBean bean)throws DataAccessException,Exception { List&DictionaryBean& list = new ArrayList&DictionaryBean&(); try{ String sql=""; /* 获取页面下拉列表*/ if (bean.getFlag().equals("1")) { sql = "SELECT PAGE_FLAG VALUE_ID,PAGE_NAME VALUE FROM YHAO_PORTALS_PAGE"; } /* 获取下载类型标识下拉列表*/ if (bean.getFlag().equals("2")) { sql = " SELECT DOWNTYPE_FLAG VALUE_ID,DOWNTYPE_NAME VALUE FROM YHAO_PORTALS_DOWNTYPE "; } /* 获取块标识下拉列表*/ if (bean.getFlag().equals("3")) { sql = " SELECT KUAI_FLAG VALUE_ID,KUAI_NAME VALUE FROM YHAO_PORTALS_KUAI "; } list = this.query(sql,new DictionaryList()); }catch(Exception e){ e.printStackTrace(); }
好了已经完成了。
您可能感兴趣的文章:
上一篇:下一篇:
最 近 更 新
热 点 排 行
12345678910您现在正在浏览:
java开源框架struts22+json+Javascrīpt框架jquery实现三级联动action和jsp代码竟然有小红叉,提示缺双引号,检查了转义符号也没缺啊,求解
发布时间:
16:54:51 &
浏览次数:
Struts2 + json+ jquery 实现三级联动action和jsp代码竟然有小红叉,提示缺双引号,检查了转义符号也没缺啊,求解
本帖最后由 showbo 于
11:56:27 编辑public class BindAction extends ActionSupport{
private String proS
private String citS
private String areS
private String bankS
private String proId;
private String citId;
private String areId;
private LoanInfoService loanInfoS
public String bindPro(){
List&TDictProvince&list=this.loanInfoService.getProlist();
if(list.size()&0){
StringBuilder sb= new StringBuilder();
int size=list.size();
sb.append(&[&);
for (TDictProvince pro : list) {
size--;
sb.append(&{provinceid:/&&);//此处小红叉
sb.append(pro.getProvinceid());
sb.append(&/&,provincename:/&&);
sb.append(pro.getProvincename());
sb.append(&/&}&);
if(size&0){
sb.append(&,&);
}
}
sb.append(&]&);
proString=sb.toString();
return SUCCESS;
}
public String bindCit() {
List&TDictCity&list=this.loanInfoService.getCitylistByProId(proId);
if(list.size()&0){
StringBuilder sb= new StringBuilder();
int size=list.size();
sb.append(&[&);
for (TDictCity pro : list) {
size--;
sb.append(&{cityid:/&&);//此处小红叉
sb.append(pro.getCityid());
sb.append(&/&,cityname:/&&);
sb.append(pro.getCityname());
sb.append(&/&}&);
if(size&0){
sb.append(&,&);
}
}
sb.append(&]&);
citString=sb.toString();
System.out.println();
return SUCCESS;
}
public String bindAre() {
List&TDictregion&list=this.loanInfoService.getArealistByCitId(citId);
if(list.size()&0){
StringBuilder sb= new StringBuilder();
int size=list.size();
sb.append(&[&);
for (TDictregion pro : list) {
size--;
sb.append(&{regionid:/&&);//此处小红叉
sb.append(pro.getRegionid());
sb.append(&/&,regionname:/&&);
sb.append(pro.getRegionname());
sb.append(&/&}&);
if(size&0){
sb.append(&,&);
}
}
sb.append(&]&);
areString=sb.toString();
return SUCCESS;
}
public String bindBank() {
List&TDictBankOutlets&list=this.loanInfoService.getBanklistByareId(areId);
if(list.size()&0){
StringBuilder sb= new StringBuilder();
int size=list.size();
sb.append(&[&);
for (TDictBankOutlets bank : list) {
size--;
sb.append(&{bankid:/&&);//此处小红叉
sb.append(bank.getBankid());
sb.append(&/&,bankname:/&&);
sb.append(&p&[NextPage][/NextPage]&/p&bank.getBankname());
sb.append(&/&}&);
if(size&0){
sb.append(&,&);
}
}
sb.append(&]&);
bankString=sb.toString();
return SUCCESS;
}
@JSON(name=&Pros&)//此处小红叉
public String getProString() {
return proS
}
public void setProString(String proString) {
this.proString = proS
}
public String getCitString() {
return citS
}
public void setCitString(String citString) {
this.citString = citS
}
public String getAreString() {
return areS
}
public void setAreString(String areString) {
this.areString = areS
}
public String getBankString() {
return bankS
}
public void setBankString(String bankString) {
this.bankString = bankS
}
public String getProId() {
return proId;
}
public void setProId(String proId) {
this.proId = proId;
}
public String getCitId() {
return citId;
}
public void setCitId(String citId) {
this.citId = citId;
}
public String getAreId() {
return areId;
}
public void setAreId(String areId) {
this.areId = areId;
}
public LoanInfoService getLoanInfoService() {
return loanInfoS
}
public void setLoanInfoService(LoanInfoService loanInfoService) {
this.loanInfoService = loanInfoS
}
}
&%@ page language=&java& import=&java.util.*& pageEncoding=&UTF-8&%&
&%
String path = request.getContextPath();
String basePath = request.getScheme()+&://&+request.getServerName()+&:&+request.getServerPort()+path+&/&;
%&
&!DOCTYPE HTML PUBLIC &-//W3C//DTD HTML 4.01 Transitional//EN&&
&html&
&head&
&base href=&&%=basePath%&&&
&title&My JSP &moneyForm1.jsp& starting page&/title&
&meta http-equiv=&pragma& content=&no-cache&&
&meta http-equiv=&cache-control& content=&no-cache&&
&meta http-equiv=&expires& content=&0&&
&meta http-equiv=&keywords& content=&keyword1,keyword2,keyword3&&
&meta http-equiv=&description& content=&This is my page&&
&!--
&link rel=&stylesheet& type=&text/css& href=&styles.css&&
--&
&script type=&text/javascript& src=&../js/jquery-1.4.3.js&&&/script&
&script type=&text/javascript&&
$(document).ready( function() {
$.getJSON(&bindProAction.action&,function(json){
//必须用eval把字符串转换成json
var data=eval(json.Pros);
// 遍历json对象
for ( var prod in data) {
// 临时变量判断循环次数
var flag = 0;
var option = document.createElement(&option&);
// json对象中的一个元素
for ( var key in data[pr&p&[NextPage][/NextPage]&/p&od]) {
// 创建一个option
document.getElementById(&pro&).appendChild(option);
if (flag == 0) {
option.value = data[prod][key];
flag++;
} else {
option.text = data[prod][key];
flag = 0;
}
}
}
});
});
function getPro(obj,cid,aid,bid) {
// 绑定之前 清空第一个以外的option
$(&#&+cid).children().eq(0).siblings().remove();
$(&#&+aid).children().eq(0).siblings().remove();
$(&#&+bid).children().eq(0).siblings().remove();
var temp = obj.
//
$(&#pro&).find(&option:selected&).val();
$.ajax( {
url : &bindCitAction.action&,
type : &get&,
dataType : &json&,
data : &proId=& + temp,
success : function(json){
data = eval(json.citString);
for ( var cit in data) {
// 临时变量判断循环次数
var flag = 0;
var option = document.createElement(&option&);
// json对象中的一个元素
for ( var key in data[cit]) {
// 创建一个option
document.getElementById(cid).appendChild(option);
if (flag == 0) {
option.value = data[cit][key];
flag++;
} else {
option.text = data[cit][key];
flag = 0;
}
}
}
}
});
}
function getCit(obj,aid,bid) {
// 绑定之前 清空第一个以外的option
$(&#&+aid).children().eq(0).siblings().remove();
$(&#&+bid).children().eq(0).siblings().remove();
var temp = obj.
//
$(&#cit&).find(&option:selected&).val();
$.ajax( {
url : &bindAreAction.action&,
type : &get&,
dataType : &json&,
data : &citId=& + temp,
success : function(json){
data = eval(json.areString);
for ( var are in data) {
// 临时变量判断循环次数
var flag = 0;
var option = document.createElement(&option&);
// json对象中的一个元素
for ( var key in data[are]) {
// 创建一个option
document.getElementById(aid).appendChild(option);
if (flag == 0) {
option.value = data[are][key];
flag++;
} else {
option.text = data[are][key];
flag = 0;
}
}
}
}
});
}
function getBank(obj,bid){
// 绑定之前 清空第一个以外的option
$(&#&+bid).children().eq(0).siblings().remove();
var temp = obj.
$.ajax( {
url : &bindBankAction.action&,
type : &get&,
dataType : &json&,
data : &areId=& + temp,
success : function(json){
data = eval(json.bankString);
for ( var bank in data) {
// 临时变量判断循环次数
var flag = 0;
var option = document.createElement(&option&);
// json对象中的一个元素
for ( var key in data[bank]) {
// 创建一个option
document.getElementById(bid).appendChild(option);
if (flag == 0) {
option.value = data[bank][key];
flag++;&p&[NextPage][/NextPage]&/p&
} else {
option.text = data[bank][key];
flag = 0;
}
}
}
}
});
}
&/script&
&/head&
&body&
&SPAN&
&select id=&pro& onchange=&getPro(this,&cit&,&are&,&bank&)& style=&width:100&&
&option value=&-1&&请选择省&/option&
&/select&
&/SPAN&
&SPAN&
&select id=&cit& onchange=&getCit(this,&are&,&bank&)& style=&width:100&&
&option value=&-1&&请选择城市&/option&
&/select&
&/SPAN&
&span&
&select id=&are& style=&width:100& name=&einfo.TDictregion.regionid& &
&option
value=&-1&&请选择地区&/option&
&/select&
&/span&
&/body&
&/html&回答1: Struts2 + json+ jquery 实现三级联动action和jsp代码竟然有小红叉,提示缺双引号,检查了转义符号也没缺啊,求解
本帖最后由 showbo 于
11:58:56 编辑楼主学下java基础吧,转移是\,不是/,我没学过java都知道你搞错了
sb.append(&{cityid:\&&);//此处小红叉回答2: Struts2 + json+ jquery 实现三级联动action和jsp代码竟然有小红叉,提示缺双引号,检查了转义符号也没缺啊,求解
路过帮顶一下啊回答3: Struts2 + json+ jquery 实现三级联动action和jsp代码竟然有小红叉,提示缺双引号,检查了转义符号也没缺啊,求解
引用 1 楼 showbo 的回复:楼主学下java基础吧,转移是\,不是/,我没学过java都知道你搞错了
sb.append(&{cityid:\&&);//此处小红叉
果然是这个问题,之前是用linux系统,转义用反斜杠,现在用windows以为要像路径一样用回正斜杠,现在突然一想java是夸平台语言,应该与操作系统无关,真是身在庐山旁者清啊。回答4: Struts2 + json+ jquery 实现三级联动action和jsp代码竟然有小红叉,提示缺双引号,检查了转义符号也没缺啊,求解
本帖最后由 showbo 于
11:56:27 编辑public class BindAction extends ActionSupport{
private String proS
private String citS
private String areS
private String bankS
private String proId;
private String citId;
private String areId;
private LoanInfoService loanInfoS
public String bindPro(){
List&TDictProvince&list=this.loanInfoService.getProlist();
if(list.size()&0){
StringBuilder sb= new StringBuilder();
int size=list.size();
sb.append(&[&);
for (TDictProvince pro : list) {
size--;
sb.append(&{provinceid:/&&);//此处小红叉
sb.append(pro.getProvinceid());
sb.append(&/&,provincename:/&&);
sb.append(pro.getProvincename());
sb.append(&/&}&);
if(size&0){
sb.append(&,&);
}
}
sb.append(&]&);
proString=sb.toString();
return SUCCESS;
}
public String bindCit() {
List&TDictCity&list=this.loanInfoService.getCitylistByProId(proId);
if(list.size()&0){
StringBuilder sb= new StringBuilder();
int size=list.size();
sb.append(&[&);
for (TDictCity pro : list) {
size--;
sb.append(&{cityid:/&&);//此处小红叉
sb.append(pro.getCityid());
sb.append(&/&,cityname:/&&);
sb.append(pro.getCityname());
sb.append(&/&}&);
if(size&0){
sb.append(&,&);
}
}
sb.append(&]&);
citString=sb.toString();
System.out.println();
return SUCCESS;
}
public String bindAre() {
List&TDictregion&list=this.loanInfoService.getArealistByCitId(citId);
if(list.size()&0){
StringBuilder sb= new StringBuilder();
int size=list.size();
sb.append(&[&);
for (TDictregion pro : list) {
size--;
sb.append(&{regionid:/&&);//此处小红叉
sb.append(pro.getRegionid());
sb.append(&/&,regionname:/&&);
sb.append(pro.getRegionname());
sb.append(&/&}&);
if(size&0){
sb.append(&,&);
}
}
sb.append(&]&);
areString=sb.toString();
return SUCCESS;
}
public String bindBank() {
List&TDictBankOutlets&list=this.loanInfoService.getBanklistByareId(areId);
if(list.size()&0){
StringBuilder sb= new StringBuilder();
int size=list.size();
sb.append(&[&);
for (TDictBankOutlets bank : list) {
size--;
sb.append(&{bankid:/&&);//此处小红叉
sb.append(bank.getBankid());
sb.append(&/&,bankname:/&&);
sb.append(bank.getBankname());
sb.append(&/&}&);
if(size&0){
sb.append(&,&);
}
}
sb.append(&]&);
bankString=sb.toString();
return SUCCESS;
}
@JSON(name=&Pros&)//此处小红叉
public String getProString() {
return proS
}
public void setProString(String proString) {
this.proString = proS
}
public String getCitString() {
return citS
}
public void setCitString(String citString) {
this.citString = citS
}
public String getAreString() {
return areS
}
public void setAreString(String areString) {
this.areString = areS
}
public String getBankString() {
return bankS
}
public void setBankString(String bankString) {
this.bankString = bankS
}
public String getProId() {
return proId;
}
public void setProId(String proId) {
this.proId = proId;
}
public String getCitId() {
return citId;
}
public void setCitId(String citId) {
this.citId = citId;
}
public String getAreId() {
return areId;
}
public void setAreId(String areId) {
this.areId = areId;
}
public LoanInfoService getLoanInfoService() {
return loanInfoS
}
public void setLoanInfoService(LoanInfoService loanInfoService) {
this.loanInfoService = loanInfoS
}
}
&%@ page language=&java& import=&java.util.*& pageEncoding=&UTF-8&%&
&%
String path = request.getContextPath();
String basePath = request.getScheme()+&://&+request.getServerName()+&:&+request.getServerPort()+path+&/&;
%&
&!DOCTYPE HTML PUBLIC &-//W3C//DTD HTML 4.01 Transitional//EN&&
&html&
&head&
&base href=&&%=basePath%&&&
&title&My JSP &moneyForm1.jsp& starting page&/title&
&meta http-equiv=&pragma& content=&no-cache&&
&meta http-equiv=&cache-control& content=&no-cache&&
&meta http-equiv=&expires& content=&0&&
&meta http-equiv=&keywords& content=&keyword1,keyword2,keyword3&&
&meta http-equiv=&description& content=&This is my page&&
&!--
&link rel=&stylesheet& type=&text/css& href=&styles.css&&
--&
&script type=&text/javascript& src=&../js/jquery-1.4.3.js&&&/script&
&script type=&text/javascript&&
$(document).ready( function() {
$.getJSON(&bindProAction.action&,function(json){
//必须用eval把字符串转换成json
var data=eval(json.Pros);
// 遍历json对象
for ( var prod in data) {
// 临时变量判断循环次数
var flag = 0;
var option = document.createElement(&option&);
// json对象中的一个元素
for ( var key in data[prod]) {
// 创建一个option
document.getElementById(&pro&).appendChild(option);
if (flag == 0) {
option.value = data[prod][key];
flag++;
} else {
option.text = data[prod][key];
flag = 0;
}
}
}
});
});
function getPro(obj,cid,aid,bid) {
// 绑定之前 清空第一个以外的option
$(&#&+cid).children().eq(0).siblings().remove();
$(&#&+aid).children().eq(0).siblings().remove();
$(&#&+bid).children().eq(0).siblings().remove();
var temp = obj.
//
$(&#pro&).find(&option:selected&).val();
$.ajax( {
url : &bindCitAction.action&,
type : &get&,
dataType : &json&,
data : &proId=& + temp,
success : function(json){
data = eval(json.citString);
for ( var cit in data) {
// 临时变量判断循环次数
var flag = 0;
var option = document.createElement(&option&);
// json对象中的一个元素
for ( var key in data[cit]) {
// 创建一个option
document.getElementById(cid).appendChild(option);
if (flag == 0) {
option.value = data[cit][key];
flag++;
} else {
option.text = data[cit][key];
flag = 0;
}
}
}
}
});
}
function getCit(obj,aid,bid) {
// 绑定之前 清空第一个以外的option
$(&#&+aid).children().eq(0).siblings().remove();
$(&#&+bid).children().eq(0).siblings().remove();
var temp = obj.
//
$(&#cit&).find(&option:selected&).val();
$.ajax( {
url : &bindAreAction.action&,
type : &get&,
dataType : &json&,
data : &citId=& + temp,
success : function(json){
data = eval(json.areString);
for ( var are in data) {
// 临时变量判断循环次数
var flag = 0;
var option = document.createElement(&option&);
// json对象中的一个元素
for ( var key in data[are]) {
// 创建一个option
document.getElementById(aid).appendChild(option);
if (flag == 0) {
option.value = data[are][key];
flag++;
} else {
option.text = data[are][key];
flag = 0;
}
}
}
}
});
}
function getBank(obj,bid){
// 绑定之前 清空第一个以外的option
$(&#&+bid).children().eq(0).siblings().remove();
var temp = obj.
$.ajax( {
url : &bindBankAction.action&,
type : &get&,
dataType : &json&,
data : &areId=& + temp,
success : function(json){
data = eval(json.bankString);
for ( var bank in data) {
// 临时变量判断循环次数
var flag = 0;
var option = document.createElement(&option&);
// json对象中的一个元素
for ( var key in data[bank]) {
// 创建一个option
document.getElementById(bid).appendChild(option);
if (flag == 0) {
option.value = data[bank][key];
flag++;
} else {
option.text = data[bank][key];
flag = 0;
}
}
}
}
});
}
&/script&
&/head&
&body&
&SPAN&
&select id=&pro& onchange=&getPro(this,&cit&,&are&,&bank&)& style=&width:100&&
&option value=&-1&&请选择省&/option&
&/select&
&/SPAN&
&SPAN&
&select id=&cit& onchange=&getCit(this,&are&,&bank&)& style=&width:100&&
&option value=&-1&&请选择城市&/option&
&/select&
&/SPAN&
&span&
&select id=&are& style=&width:100& name=&einfo.TDictregion.regionid& &
&option
value=&-1&&请选择地区&/option&
&/select&
&/span&
&/body&
&/html&回答5: Struts2 + json+ jquery 实现三级联动action和jsp代码竟然有小红叉,提示缺双引号,检查了转义符号也没缺啊,求解
本帖最后由 showbo 于
11:56:27 编辑public class BindAction extends ActionSupport{
private String proS
private String citS
private String areS
private String bankS
private String proId;
private String citId;
private String areId;
private LoanInfoService loanInfoS
public String bindPro(){
List&TDictProvince&list=this.loanInfoService.getProlist();
if(list.size()&0){
StringBuilder sb= new StringBuilder();
int size=list.size();
sb.append(&[&);
for (TDictProvince pro : list) {
size--;
sb.append(&{provinceid:/&&);//此处小红叉
sb.append(pro.getProvinceid());
sb.append(&/&,provincename:/&&);
sb.append(pro.getProvincename());
sb.append(&/&}&);
if(size&0){
sb.append(&,&);
}
}
sb.append(&]&);
proString=sb.toString();
return SUCCESS;
}
public String bindCit() {
List&TDictCity&list=this.loanInfoService.getCitylistByProId(proId);
if(list.size()&0){
StringBuilder sb= new StringBuilder();
int size=list.size();
sb.append(&[&);
for (TDictCity pro : list) {
size--;
sb.append(&{cityid:/&&);//此处小红叉
sb.append(pro.getCityid());
sb.append(&/&,cityname:/&&);
sb.append(pro.getCityname());
sb.append(&/&}&);
if(size&0){
sb.append(&,&);
}
}
sb.append(&]&);
citString=sb.toString();
System.out.println();
return SUCCESS;
}
public String bindAre() {
List&TDictregion&list=this.loanInfoService.getArealistByCitId(citId);
if(list.size()&0){
StringBuilder sb= new StringBuilder();
int size=list.size();
sb.append(&[&);
for (TDictregion pro : list) {
size--;
sb.append(&{regionid:/&&);//此处小红叉
sb.append(pro.getRegionid());
sb.append(&/&,regionname:/&&);
sb.append(pro.getRegionname());
sb.append(&/&}&);
if(size&0){
sb.append(&,&);
}
}
sb.append(&]&);
areString=sb.toString();
return SUCCESS;
}
public String bindBank() {
List&TDictBankOutlets&list=this.loanInfoService.getBanklistByareId(areId);
if(list.size()&0){
StringBuilder sb= new StringBuilder();
int size=list.size();
sb.append(&[&);
for (TDictBankOutlets bank : list) {
size--;
sb.append(&{bankid:/&&);//此处小红叉
sb.append(bank.getBankid());
sb.append(&/&,bankname:/&&);
sb.append(bank.getBankname());
sb.append(&/&}&);
if(size&0){
sb.append(&,&);
}
}
sb.append(&]&);
bankString=sb.toString();
return SUCCESS;
}
@JSON(name=&Pros&)//此处小红叉
public String getProString() {
return proS
}
public void setProString(String proString) {
this.proString = proS
}
public String getCitString() {
return citS
}
public void setCitString(String citString) {
this.citString = citS
}
public String getAreString() {
return areS
}
public void setAreString(String areString) {
this.areString = areS
}
public String getBankString() {
return bankS
}
public void setBankString(String bankString) {
this.bankString = bankS
}
public String getProId() {
return proId;
}
public void setProId(String proId) {
this.proId = proId;
}
public String getCitId() {
return citId;
}
public void setCitId(String citId) {
this.citId = citId;
}
public String getAreId() {
return areId;
}
public void setAreId(String areId) {
this.areId = areId;
}
public LoanInfoService getLoanInfoService() {
return loanInfoS
}
public void setLoanInfoService(LoanInfoService loanInfoService) {
this.loanInfoService = loanInfoS
}
}
&%@ page language=&java& import=&java.util.*& pageEncoding=&UTF-8&%&
&%
String path = request.getContextPath();
String basePath = request.getScheme()+&://&+request.getServerName()+&:&+request.getServerPort()+path+&/&;
%&
&!DOCTYPE HTML PUBLIC &-//W3C//DTD HTML 4.01 Transitional//EN&&
&html&
&head&
&base href=&&%=basePath%&&&
&title&My JSP &moneyForm1.jsp& starting page&/title&
&meta http-equiv=&pragma& content=&no-cache&&
&meta http-equiv=&cache-control& content=&no-cache&&
&meta http-equiv=&expires& content=&0&&
&meta http-equiv=&keywords& content=&keyword1,keyword2,keyword3&&
&meta http-equiv=&description& content=&This is my page&&
&!--
&link rel=&stylesheet& type=&text/css& href=&styles.css&&
--&
&script type=&text/javascript& src=&../js/jquery-1.4.3.js&&&/script&
&script type=&text/javascript&&
$(document).ready( function() {
$.getJSON(&bindProAction.action&,function(json){
//必须用eval把字符串转换成json
var data=eval(json.Pros);
// 遍历json对象
for ( var prod in data) {
// 临时变量判断循环次数
var flag = 0;
var option = document.createElement(&option&);
// json对象中的一个元素
for ( var key in data[prod]) {
// 创建一个option
document.getElementById(&pro&).appendChild(option);
if (flag == 0) {
option.value = data[prod][key];
flag++;
} else {
option.text = data[prod][key];
flag = 0;
}
}
}
});
});
function getPro(obj,cid,aid,bid) {
// 绑定之前 清空第一个以外的option
$(&#&+cid).children().eq(0).siblings().remove();
$(&#&+aid).children().eq(0).siblings().remove();
$(&#&+bid).children().eq(0).siblings().remove();
var temp = obj.
//
$(&#pro&).find(&option:selected&).val();
$.ajax( {
url : &bindCitAction.action&,
type : &get&,
dataType : &json&,
data : &proId=& + temp,
success : function(json){
data = eval(json.citString);
for ( var cit in data) {
// 临时变量判断循环次数
var flag = 0;
var option = document.createElement(&option&);
// json对象中的一个元素
for ( var key in data[cit]) {
// 创建一个option
document.getElementById(cid).appendChild(option);
if (flag == 0) {
option.value = data[cit][key];
flag++;
} else {
option.text = data[cit][key];
flag = 0;
}
}
}
}
});
}
function getCit(obj,aid,bid) {
// 绑定之前 清空第一个以外的option
$(&#&+aid).children().eq(0).siblings().remove();
$(&#&+bid).children().eq(0).siblings().remove();
var temp = obj.
//
$(&#cit&).find(&option:selected&).val();
$.ajax( {
url : &bindAreAction.action&,
type : &get&,
dataType : &json&,
data : &citId=& + temp,
success : function(json){
data = eval(json.areString);
for ( var are in data) {
// 临时变量判断循环次数
var flag = 0;
var option = document.createElement(&option&);
// json对象中的一个元素
for ( var key in data[are]) {
// 创建一个option
document.getElementById(aid).appendChild(option);
if (flag == 0) {
option.value = data[are][key];
flag++;
} else {
option.text = data[are][key];
flag = 0;
}
}
}
}
});
}
function getBank(obj,bid){
// 绑定之前 清空第一个以外的option
$(&#&+bid).children().eq(0).siblings().remove();
var temp = obj.
$.ajax( {
url : &bindBankAction.action&,
type : &get&,
dataType : &json&,
data : &areId=& + temp,
success : function(json){
data = eval(json.bankString);
for ( var bank in data) {
// 临时变量判断循环次数
var flag = 0;
var option = document.createElement(&option&);
// json对象中的一个元素
for ( var key in data[bank]) {
// 创建一个option
document.getElementById(bid).appendChild(option);
if (flag == 0) {
option.value = data[bank][key];
flag++;
} else {
option.text = data[bank][key];
flag = 0;
}
}
}
}
});
}
&/script&
&/head&
&body&
&SPAN&
&select id=&pro& onchange=&getPro(this,&cit&,&are&,&bank&)& style=&width:100&&
&option value=&-1&&请选择省&/option&
&/select&
&/SPAN&
&SPAN&
&select id=&cit& onchange=&getCit(this,&are&,&bank&)& style=&width:100&&
&option value=&-1&&请选择城市&/option&
&/select&
&/SPAN&
&span&
&select id=&are& style=&width:100& name=&einfo.TDictregion.regionid& &
&option
value=&-1&&请选择地区&/option&
&/select&
&/span&
&/body&
&/html&
分享到:回答6: Struts2 + json+ jquery 实现三级联动action和jsp代码竟然有小红叉,提示缺双引号,检查了转义符号也没缺啊,求解
本帖最后由 showbo 于
11:58:56 编辑楼主学下java基础吧,转移是\,不是/,我没学过java都知道你搞错了
sb.append(&{cityid:\&&);//此处小红叉回答7: Struts2 + json+ jquery 实现三级联动action和jsp代码竟然有小红叉,提示缺双引号,检查了转义符号也没缺啊,求解
路过帮顶一下啊回答8: Struts2 + json+ jquery 实现三级联动action和jsp代码竟然有小红叉,提示缺双引号,检查了转义符号也没缺啊,求解
引用 1 楼 showbo 的回复:楼主学下java基础吧,转移是\,不是/,我没学过java都知道你搞错了
sb.append(&{cityid:\&&);//此处小红叉
果然是这个问题,之前是用linux系统,转义用反斜杠,现在用windows以为要像路径一样用回正斜杠,现在突然一想java是夸平台语言,应该与操作系统无关,真是身在庐山旁者清啊。
转载请保留出处:/webkaifa_querstion/216.html
本周热门问答排行

我要回帖

更多关于 struts2 jquery ajax 的文章

 

随机推荐