版本V5
 
 
 
实现基准:真正完成ajax加载模板,根据名单列表生成相应数据文本框。
 
 
 
做到这步,发觉数据表需要修改了:
 
 
 
即时数据模块设计 版本V5_第1张图片
 
 
 
只保留一张表,增加scoreInfo字段,存json格式的比分数据,其他两张表作废。
 
 
 
 
 
 
上一个版本中,定义了:
 
 
 
var json={"t_1_name":"美国男子篮球队","t_2_name":"立陶宛男子篮球队"};
 
 
 
这里就是名单,数据表中的scoreInfo为空,则从“名单列表”中获取参加该比赛的名单,然后封装成json格式的数据:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
服务器上的做法:
 
 
 
//list存放了名单List
 
 
 
Map jsonMap
 
 
 
= new LinkedHashMap(list.size());
 
 
 
  for ( int i=0,j=list.size();i<j;i++){                      
 
 
 
int id = i+1;                    
 
 
 
jsonMap.put( "t_" +id+ "_name" , list.get(i).getTeamName());
 
 
 
  }
 
 
 
  JSONObject json = JSONObject. fromObject (jsonMap);
 
 
 
      request.setAttribute( "json" ,json);
 
 
 
如果数据表中scoreInfo不为空,则获取到:
 
 
 
json
 
 
 
= {"t_1_section_2":"5","t_1_section_1":"30","t_2_totalScore":"80","t_2_section_4":"5","t_2_section_2":"10","t_2_section_3":"5","t_1_totalScore":"65","t_1_section_4":"5","t_1_section_3":"5","t_1_name":
 
 
 
"美国男子篮球队","t_2_section_1":"40","t_2_overtime_1":"10","t_1_overtime_2":"10","t_2_name":"立陶宛男子篮球队","t_2_overtime_2":"10","t_1_overtime_1":"10"};
 
 
 
所以是否存在这个数据,关键修改之后有没有提交。
 
 
 
 
 
 
ok,该有的,都有了,着手代码实现:
 
 
 
/**
 
 
 
  * 根据模板id获取模板内容
 
 
 
  * 然后重新拼装table
 
 
 
  * date  :2010-4-15
 
 
 
  */
 
 
 
function getModelCode(modelId){
 
 
 
    if(rsc!="" && modelId!=""){
 
 
 
        jQuery.post("/admin/match_getModelCode.action", {Action:"get","rsc":rsc,"modelId":modelId},    
 
 
 
               function (data, textStatus){
 
 
 
        //data就是返回的模板内容
 
 
 
            //开始注入
 
 
 
                      //需要重新拼装table 这里省略代码.....
 
 
 
            //结束注入
 
 
 
          });  
 
 
 
      }else{
 
 
 
      alert("数据不完整");
 
 
 
    }
 
 
 
  }
 
 
 
后台模板效果图:
 
 
 
即时数据模块设计 版本V5_第2张图片
 
 
 
 
 
 
测试之后还是有小问题,就是在重新拼装table的时候,因为设置了全局的:
 
 
 
var table_basic_html = "";
 
 
 
var table_head_html = "";
 
 
 
需要清空先,不然就会一直追加内容,产生多个table,如图所示:
 
 
 
即时数据模块设计 版本V5_第3张图片
 
 
 
这些都是细节调整问题了, 不能一步到位处理好,调试还是需要点时间,用心调试的
 
 
 
 
 
 
ok,到此,版本V5算是比较成功了。