`
free_xiang
  • 浏览: 52714 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

struts2+json+jquery 级联查询

    博客分类:
  • java
阅读更多

js代码


$(document).ready(
function(){
$.ajax({
url:"../adminManage/bindTheater.action",
type:"GET",
dataType:"json",
success:bindTheaterList
});
}
);

function bindTheaterList(json){
// 把返回的json字符串赋值给变量data
var data=(json.theaterString);
//遍历json对象
for(var theater in data){
//var option = document.createElement("option");
//document.getElementByIdx("bindTheater").appendChild(option);
//option.value=data[theater].theaterId.value;
//option.text=data[theater].name.value;
//临时变量判断循环次数
var flag=0;
var option=document.createElement("option");
//json对象中的一个元素
for(var key in data[theater]){
//创建一个option
document.getElementByIdx("bindTheater").appendChild(option);
if(flag==0){

option.value=data[theater][key];
flag++;
}else{
option.text=data[theater][key];
flag=0;
}
}
}
}


function getHall(){
//绑定之前 清空第一个以外的option
$("#bindHall").children().eq(0).siblings().remove();
$("#bindShow").children().eq(0).siblings().remove();
var temp=$("#bindTheater").find("option:selected").val();
$.ajax({
url:"../adminManage/bindHall.action",
type:"get",
dataType:"json",
data:"theaterId="+temp,
success:bindHallList
});
}
//回调函数
function bindHallList(json){
data=(json.hallString);
for(hall in data){
var option = document.createElement("option");
for(key in data[hall]){
document.getElementByIdx("bindHall").appendChild(option);
option.text=data[hall][key];
}
}
}

function getShow(){
//绑定之前 清空第一个以外的option
$("#bindShow").children().eq(0).siblings().remove();
var temp = $("#bindHall").find("option:selected").val();
$.ajax({
url:"../adminManage/bindShow.action",
type:"get",
dataType:"json",
data:"hallId="+temp,
success:bindShowList
});
}
//回调函数
function bindShowList(json){
data=(json.showString);
for(show in data){
var option = document.createElement("option");
for(key in data[show]){
document.getElementByIdx("bindShow").appendChild(option);
option.text=data[show][key];
}
}
}

页面代码

<body>
<center>
<div>
<SPAN>
影院:
<select id="bindTheater" onChange="getHall()" style="width:100px;"></select>
</SPAN>
<SPAN>
大厅:
<select id="bindHall" onChange="getShow()" style="width:100px;">
<option value="-1">--</option>
</select>
</SPAN>
<span>
场次:
<select id="bindShow" style="width:100px;">
<option value="-1">--</option>
</select>
</span>
</div>
</center>
<s:submit id="submit" value="生成票" onClick="genarateTickets()"></s:submit>
<div>

</div>
</body>

配置文件

<package name="adminManage" extends="struts-default,json-default" namespace="/adminManage">

<action name="bindTheater" class="AdminManagementAction" method="bindTheater">
<result type="json">
</result>
</action>

<action name="bindHall" class="AdminManagementAction" method="bindHall">
<result type="json"></result>
</action>

<action name="bindShow" class="AdminManagementAction" method="bindShow">
<result type="json"></result>
</action>

</package>

action代码

public String bindTheater() throws FileNotFoundException, IOException{
List<Theater> list=adminService.findAllTheter();
StringBuilder sb= new StringBuilder();
int size=list.size();
sb.append("[");
for (Theater theater : list) {
size--;
sb.append("{theaterId:\"");
sb.append(theater.getTheaterId());
sb.append("\",theaterName:\"");
sb.append(theater.getName());
sb.append("\"}");
if(size>0){
sb.append(",");
}
}
sb.append("]");
this.theaterString=sb.toString();
return SUCCESS;
}

public String bindHall(){
List<Hall> list=this.adminService.findHallBytheaterId(Integer.parseInt(this.theaterId));
StringBuilder sb= new StringBuilder();
int size=list.size();
sb.append("[");
for (Hall hall : list) {
size--;
sb.append("{hallId:\"");
sb.append(hall.getHid());
sb.append("\",hallId:\"");
sb.append(hall.getHid());
sb.append("\"}");
if(size>0){
sb.append(",");
}
}
sb.append("]");
this.hallString = sb.toString();
return SUCCESS;
}

public String bindShow(){
List<Show> list=this.adminService.findShowByHallId(Integer.parseInt(this.hallId));
StringBuilder sb= new StringBuilder();
int size=list.size();
sb.append("[");
for (Show show : list) {
size--;
sb.append("{hallId:\"");
sb.append(show.getSid());
sb.append("\",hallId:\"");
sb.append(show.getStartTime());
sb.append("\"}");
if(size>0){
sb.append(",");
}
}
sb.append("]");
this.showString = sb.toString();
return SUCCESS;
}

分享到:
评论

相关推荐

    ajax+struts2.0+jsp下拉列表级联

    3. Struts2 Action处理:在Struts2的Action类中,接收AJAX请求,根据请求参数执行相应的业务逻辑,比如从数据库中查询关联数据。 4. 数据处理:查询到的数据转化为JSON格式,这是AJAX请求期望的响应格式。Struts2...

    ajax+ssh实现省份城市级联查询

    在此,我们将深入探讨Ajax、Spring、Hibernate和Struts2这四个关键技术以及它们在实现级联查询中的作用。 Ajax(Asynchronous JavaScript and XML)是一种在不刷新整个页面的情况下与服务器交换数据并更新部分网页...

    struts2+json省市区级联显示

    总结来说,"struts2+json省市区级联显示"项目展示了如何利用Struts2和JSON实现动态、无刷新的级联选择功能。通过后台获取数据并以JSON格式返回,前端通过AJAX请求接收数据并更新页面,大大提高了用户体验。这种技术...

    SSH+jQuery+json 实现的Ajax操作,绝对精华,代码简练清晰,绝对能看明白

    当用户选择省份后,jQuery会发送Ajax请求到服务器,服务器使用SSH框架处理请求,查询数据库并返回JSON格式的城市数据,最后jQuery解析JSON并在前端更新城市选择框。 总结来说,这个压缩包提供的示例是一个基于SSH...

    SSH+Ajax+JSON省市级联效果Spring+Struts+Hibernate+Jquery

    jQuery在接收到这些数据后,可以轻松地解析JSON并动态地更新城市选择框的内容,从而实现级联效果。 具体实现步骤大致如下: 1. 用户在前端选择省份,触发jQuery的Ajax事件。 2. Ajax请求发送到后台,由Struts拦截...

    js+jsp标签实现页面级联菜单

    这可能涉及到数据库查询,返回一个表示菜单层次结构的数据对象,例如JSON。 2. 在JSP页面中,使用`c:forEach`遍历菜单数据,为每个菜单项生成HTML元素。如果菜单有子项,可以通过`c:if`判断并在适当的位置插入子...

    用Struts2+Spring+Hibernate三大框架完成的级联操作

    Spring MVC的ModelAndView或Struts2的结果类型可以返回JSON数据,前端JavaScript可以解析这些数据并更新DOM。 在这个项目中,级联省市县部分,可能涉及到多级联动的逻辑,需要在数据库中维护省、市、县之间的层级...

    ajax_struts_jquery_json级联菜单

    在"ajax_struts_jquery_json级联菜单"的场景中,我们将看到如何利用这四种技术协同工作来创建这样的功能。 首先,Struts框架在后台处理业务逻辑。当用户在前端选择了一个父级菜单项后,Struts Action会接收到这个...

    JQuery级联下拉

    JQuery级联下拉 JQuery级联下拉是指使用...JQuery级联下拉技术可以帮助开发者快速实现级联下拉框的功能,而Struts2框架可以简化服务器端的开发工作。通过正确地应用这两种技术,开发者可以快速构建复杂的Web应用程序。

    struts实现select级联

    创建一个Struts2 Action类,该类将处理用户的请求并提供级联数据。由于题目中提到不涉及数据库,我们可以直接在Action类中硬编码这些数据。例如,定义两个List对象,分别代表省份和城市,并在用户做出选择后返回...

    省市级联ssh1+jquery+json

    标题 "省市级联ssh1+jquery+json" 暗示了这个项目是关于构建一个中国省级和市级的联动选择功能,使用了SSH1(Spring、Struts1、Hibernate1)作为后端框架,jQuery作为前端JavaScript库,而JSON作为数据交换格式。...

    SSH+JQuery+MySQL级联操作(省市县级联)

    在Struts中,你需要编写Action类来处理Ajax请求,以及返回JSON格式的数据供JQuery解析。前端页面上,使用JQuery编写脚本,设置事件监听器,当选择项改变时发送Ajax请求,接收到响应后动态修改下拉列表选项。 总结来...

    jQuery实现的多级级联下拉列表

    本文将深入探讨如何利用jQuery实现多级级联下拉列表,同时结合JSON数据类型和Struts2框架,以创建一个功能丰富的交互式用户界面。 **一、jQuery简介** jQuery是由John Resig于2006年创建的,它的核心设计理念是...

    三级联动的实例+struts2+hibernate3

    - 接收Struts2返回的JSON或XML数据,动态更新下拉框选项。 5. **测试与调试**: - 运行应用,验证每个级别的联动是否正常工作。 - 使用日志框架如Log4j记录异常,方便调试和定位问题。 这个实例通过整合Struts2...

    struts2 级联菜单

    在Struts2中实现级联菜单是一项常见的需求,通常用于构建复杂的下拉选择框,使得用户能够逐级选择相关选项。级联菜单在数据表关联或者层级结构的展示中非常实用,例如地区选择、部门分类等。 首先,我们需要理解...

    struts2 三级级联

    在Struts2中实现三级级联,我们需要考虑以下几个关键知识点: 1. **配置文件**:Struts2的核心在于它的配置,包括`struts.xml`。在这个文件中,你需要定义Action类和结果类型,以便处理HTTP请求并返回相应的响应。...

    Struts2级联doubleselect

    在Struts2中,级联(Cascading)功能主要用于处理关联数据,例如一个国家对应多个城市,一个城市对应多个区,这种层级关系的数据在用户界面中通常通过级联选择框(dropdown list)来呈现。Doubleselect是Struts2提供...

    Ajax+Json 级联菜单实现代码

    根据文件信息,下面详细说明了Ajax与Json实现级联菜单的关键知识点: 1. **Ajax技术介绍** Ajax(Asynchronous JavaScript and XML,异步JavaScript和XML)是一种在无需重新加载整个页面的情况下,能够更新部分网页...

    struts2级联联动菜单

    - 在struts.xml配置文件中,为这些方法配置不同的结果类型,比如`json`,这样当用户触发这些方法时,Struts2会以JSON格式返回数据。 4. **JSP页面**: - 使用JavaScript和jQuery库创建级联下拉框,监听第一个...

Global site tag (gtag.js) - Google Analytics