jsp
<!--當前培訓機構下的所有班級名稱 -->
班級名稱:<s:select οnchange="checkClassStaging();" id="classId" theme="simple" list="classList" listKey="gid" listValue="name" name="classEntity.gid" ></s:select>
<!--當前培訓機構下的所有班級下的分期 -->
分期:<s:select id="stagingId" theme="simple" list="stagingList" listKey="gid" listValue="stagingCount" name="classEntity.classStagings.gid"></s:select>
action
/*查詢所有的消息*/
public String fetchAll(){
if(entity != null && entity.getGid()!=null){
entity = null;
}
//分頁查詢
totalRecordCount = service.fetchTotalCount(entity);
computeTotalPage();
entityList = service.fetchList(entity, computeStartIndex(), PAGE_RESULTS_SIZE);
classList = service.fetchClass(this.getCurrentUser());//當前登錄用戶下的所有培訓機構
stagingList = service.fetchStaging(classList);
return RESULT_LIST;
}
serviceImpl
/*查詢當前培訓用戶下所有的班級 */
@Override
public List<ClassEntity> fetchClass(SecUserEntity user) {
List<ClassEntity> classList = new ArrayList<ClassEntity>();
SecUserEntity userEntity = fetchSingle(user);
classList = userEntity.getClassEntityTrains();
return classList;
}
/*查詢第一條數據班級下面的所有分期*/
public List<ClassStagingEntity> fetchStaging(List<ClassEntity> classList) {
List<ClassStagingEntity> stagingList = new ArrayList<ClassStagingEntity>();
ClassEntity classEntities = classList.get(0);
ClassEntity classEntity = fetchSingle(classEntities);
stagingList = classEntity.getClassStagings();
return stagingList;
}
action
/*級聯下拉列表,通過從頁面傳過來的班級查找班級下面所有的分期*/
public String cascadeClassStaging(){
try{
if(jsonParam!=null){
ClassEntity classEntity = JSON.parseObject(jsonParam, ClassEntity.class);
DwrResultVO result = service.fetchClassStaging(classEntity);
jsonResult =JSONObject.toJSONString(result);
System.out.println(jsonResult);
}
}catch(Exception e){
e.printStackTrace();
}
return "flag";
}
serviceImpl
public DwrResultVO fetchClassStaging(ClassEntity classEntity){
DwrResultVO result = new DwrResultVO();
List<ClassStagingEntity> classStagingEntities = new ArrayList<ClassStagingEntity>();
ClassEntity entity = fetchSingle(classEntity);
classStagingEntities = entity.getClassStagings();//獲得班級下所有的分期
if(classStagingEntities!=null){
result.setOperationFlag(true);
result.setClassStagingEntities(classStagingEntities);
}else{
result.setOperationFlag(false);
result.setOperationMessage("當前班級還未分過期!!");
}
return result;
}
jsp拼接(拼接option)
/*級聯菜單 通過當前班級查詢班級下所有的期數 */
function checkClassStaging(){
var classId = $("#classId").val();
var entity = new Object();
entity.gid = classId;
if(classId!=""){
$("#stagingId").empty();//拼接之前先刪除原有的下拉列表裏的值
$.ajax({
async:false,
url: "<%=APP_ACCESS_NAME%>/training/studentMessageAction!cascadeClassStaging.action",
type: "POST",
dataType: "json",
data: "jsonParam="+JSON.stringify(entity),
success: function( data ) {
var result = JSON.parse(data);
if(result.operationFlag==false){
alert(result.operationMessage);
}else if(result.operationFlag==true){
var option='';
for (var i = 0; i < result.classStagingEntities.length; i++) {//動態添加
option +='<option value="'+result.classStagingEntities[i].gid+'">'+result.classStagingEntities[i].stagingCount+'</option>';
}
$("#stagingId").append($(option));
}
}
});
}
}