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” method=”bindTheater”> <result type=”json”> </result> </action>
<action name=”bindHall” method=”bindHall”> <result type=”json”></result> </action>
<action name=”bindShow” 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; }