zoukankan      html  css  js  c++  java
  • combobox远程加载数据的总结和Json数据的小结

    1.从后台返回请求加载Combobox下拉框数据

    html部分
    1
    <select name="mateBelongZ" id="mateBelongZID" style="142px;height:20px;font-size:13px;border:1px solid teal"> 2 </select>

    js部分 

     1     $.ajax({
     2         url : rootPath+'/jasframework/ycsy/queryCameraBelongZID.do?',
     3         success : function(result) {
     5                 var seHtml = "";
     6                 for(var i = 0 ;i<result.length; i++) {
     7                     seHtml += "<option>"+result[i].text+"</option>";
     8                 }
     9                 $("#mateBelongZID").html(seHtml);
    10         },
    11         async : true,
    12         dataType : "json"
    13     });

    方法二、easyUI的combobox控件

        
        $("#mateBelongZID").combobox({  
            url : rootPath+'/jasframework/ycsy/queryCameraBelongZID.do?',
            valueField:'id',   
            textField:'text'  
        });  
        //调整选择下拉框的宽度
        setComboObjWidth("mateBelongCID","0.44","combobox");
        setComboObjWidth("mateBelongZID","0.44","combobox");

    两种方法后台返回的数据格式均为Json格式的数据

    Controller层
    /**
         * 查询摄像头所属的占
         * @return
         */
        @RequestMapping("/queryCameraBelongZID")
        @ResponseBody
        public List queryCameraBelongZID(HttpServletRequest request){
            // 把登录用户信息推送到业务类
            List<?> list = cameraInfoService.queryCameraBelongZID();
            return list;
        }
        
    service层
    /**
     * 查询摄像头所属的站
     */
        @Override
        public List queryCameraBelongZID() {
            // TODO Auto-generated method stub
            String sql = "from   VectorInfo  where   parenteventid = 202 ";
    //        String sql = "select * from   YCSY_VectorInfo where   parenteventid = 202  vectorname is null    and  workareaname like '%站' and parenteventid !=14";
            List<VectorInfo> list = workareaInfoDao.queryCameraBelongZID(sql);
            List list1 = new ArrayList();
            for(VectorInfo  CameraInfo: list){
                Map<String,String> map= new HashMap<String,String>();
                map.put("id", CameraInfo.getWorkareaName());
                map.put("text",  CameraInfo.getWorkareaName());
                list1.add(map);
            }
            return list1;
        }

    注意点二、注意返回的数据格式

     1     $.ajax({
     2         url : strUrl,
     3         success : function(result) {
     4 //            alert(result);
     5             if(result==null){
     6                 alert("抱歉,所选区域的井暂无层位信息!");
     7             }else{
     8                 var res = result;
     9                 var arr = res.split(",");
    10                 var seHtml = "";
    11                 for(var val in arr) {
    12                     seHtml += "<option>"+arr[val]+"</option>";
    13                 }
    14                 $("#cengwei").html(seHtml);
    15             }
    16             
    17 //             $("ol").append("<li>Appended item</li>");
    18         },
    19         async : true,
    20         dataType : "text"
    21     });

    前台

    1 <td>
    2      <select id="cengwei" style="border:1px solid teal;" >
    3 <!--         <option>所有层位</option> -->
    4     </select> 

    后台

     1     /**
     2      * get 所有生产层位信息
     3      * 
     4      * @throws IOException
     5      */
     6     @RequestMapping("/getAllCengwei")
     7     @ResponseBody
     8     public void getAllCengwei(HttpServletRequest request, HttpServletResponse response) throws IOException {
     9         String wellNames=request.getParameter("wellNames");
    10         String str="";
    11         if(wellNames!=null && !"".equals(wellNames)){
    12             wellNames=EncodeUtil.urlDecode(wellNames);
    13             String[] wellName=wellNames.split(";");
    14             for(int i=0;i<wellName.length;i++){
    15                 str+="'"+wellName[i]+"',";
    16             }
    17         }
    19         String  sql  = "select distinct(cw)cw from  ycsy_newhorizon t where t.Cw  is not Null ";
    20         if(str!=null && !"".equals(str)){
    21             sql +="and t.jh in("+str.substring(0, str.length()-1)+") ";
    22         }
    24         List list = workareaInfoService.getAllCengwei(sql);
    25         String cengwei = "";
    26         for (Iterator iterator = list.iterator(); iterator.hasNext();) {
    27             String obj = (String) iterator.next();
    28             cengwei += obj + ",";
    29         }
    30         if(cengwei!=null && !"".equals(cengwei)){
    31             cengwei = cengwei.substring(0,cengwei.length()-1);
    32         }
    33         response.setCharacterEncoding("utf-8");
    34         response.getWriter().write("所有层位," + cengwei);
    35     }

    分析:1.方法一和注意点二返回的一个是JSon格式的数据一个是字符串,两者都是用Ajax进行求,后台的返回的返回数据格式,前台的数据解析格式也不一样,注意点二( dataType : "text")

    方法一( dataType :"json")。另外关于解析json的数据格式的总结:用ajax进行请求(dataType :"json"解析,或者var obj = JSON.stringify(data) ,或者

    var result = eval('(' + data + ')');

    ,var obj = JSON.parse(result); )。

    2.注意Jquery动态添加元素。

  • 相关阅读:
    描述软件质量属性需求和质量属性场景(以淘宝网为例)
    软件架构初识
    机器学习实践02
    机器学习实践01
    机器学习十讲02
    用户故事与敏捷方法阅读笔记05
    机器学习十讲01
    用户故事与敏捷方法阅读笔记04
    tensorflow学习05(Mnist数据集)
    spring boot发送HTTP请求
  • 原文地址:https://www.cnblogs.com/tian830937/p/4437968.html
Copyright © 2011-2022 走看看