combobox远程加载数据的总结和Json数据的小结

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

html部分1     <select name="mateBelongZ" id="mateBelongZID"  style="width: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"解析,或者result.String ,或者 eval(result))。

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

时间: 2024-11-05 12:08:29

combobox远程加载数据的总结和Json数据的小结的相关文章

ExtJS ComboBox同时加载远程和本地数据

ExtJS ComboBox同时加载远程和本地数据 原文:http://gblog.hbcf.net/index.php/archives/233 ComboBox比较特殊需求,将远程数据和本地数据同时加载.其实,还是先加载远程,在将本地数据塞进获取到的远程数据中去.大概的代码如下(网上得来,未验证,以备用) //首先远程读取数据 var seriesStore = new Ext.data.JsonStore({ url: '', fields: ['seriesid', 'seriesnam

ext combobox动态加载数据库数据

前台: var provinceStore = new Ext.data.Store({ proxy: new Ext.data.HttpProxy({ url: basePath + "/stationManage/station_getProvinceJSON.action" }), reader: new Ext.data.JsonReader( { root: "" }, ["PROVINCEID", "PROVINCENAME

bootstrap模态框远程加载网页的正确处理方式

bootstrap模态框远程加载网页的方法 在bootsrap模态框文档里给出了这个方法: 使用链接模式 <a data-toggle="modal" href="tieniu.php" data-target="#modal">Click me</a> 使用脚本模式: $("#modal").modal({ remote: "tieniu.php" }); 没有给出任何实例,这种用

Ext2.0之Tabpanel AJAX远程加载多标签页面模式开发技巧

目前开发的方式是采用远程load页面来实现多页面效果,类似于126邮箱多标签页效果.但是比126邮箱的方式更好,因为页面打开后是load到本地的,126似乎还会重新请求.在近期项目该开发方式已经基本成熟,积累了一些经验,与各位开发者共享和讨论. 该方式的页面布局为:一个bodylayout,左边为导航树,下方为信息框.上部为企业或系统LOGO.center为一个tabpanel,tabpanel远程加载页面(不清楚AJAX远程加载的请查阅EXT API之panel的autoLoad方法). 由于

在Unity中创建可远程加载的.unity3d包

在一个Unity项目中,发布包本身不一定要包括所有的Asset(译为资产或组件),其它的部分可以单独发布为.unity3d,再由程序从本地/远程加载执行,这部分不在本文讨论范围.虽然Unity并没有直接提供.unity3d的导出功能,但可以通过其手册了解到一些,并打开菜单项. 翻看Unity关于AssetBundle的手册,有相关的链接: BuildPipeline.BuildAssetBundle Building AssetBundles [注意]导出.unity3d格式需要pro版本,非p

CSS远程加载字体

CSS 远程加载字体的方法,做网站CSS的都知道,用户浏览网站时,网页上的字体是加载本地的.换言之,如果网站使用了用户电脑所没有安装的字体,那显示字体就会被默认字体所代替了,自然效果就大受影响了. 上网搜索了下,这个问题,其实还是有解决办法的.那就是,准备一个或几个字体文件,放置到服务器上,再用 CSS 的方法把字体加载到网页中,这样,即使用户电脑中没有某一种字体,也可以正常显示! 以微软雅黑为例,一般来说,VISTA 系统和现在的 win7 系统都自带了这种字体,但 winXP 却没有.如果网

iOS 本地可以构造假数据,并转换为json数据

// 当服务端接口没做好时,本地可以构造假数据,并转换为json数据 NSError *error; NSString *dataStr = [NSString stringWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"indEditor" ofType:@"txt"] encoding:NSUTF8StringEncoding error:&error]; NSData *jsonD

通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中

摘自:http://blog.csdn.net/mazhaojuan/article/details/8592015 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中  先看一下我要实现的功能界面:   这个界面的功能在图中已有展现,课程分配(教师教授哪门课程)在之前的页面中已做好.这个页面主要实现的是授课,即给老师教授的课程分配学生.此页面实现功能的步骤已在页面中有所体现,这里不再赘述,此篇文章主要介绍:我是如何通过js从前台获取数

easyui dialog远程加载内容完成后,进行对话内容(表单)初始化

通过查看easyui的帮助文档,dialog继承于window,window继承于panel,panel中有个onLoad事件,也就是当远程数据加载完成后,触发此事件.因此只要在此事件中对对话框中的内容进行初始化就可以了. var $addEvent = $("#addEvent"); // 初始化对话框 $addEvent.dialog({ title: '新增待办工作', width: 400, height: 250, closed: false, cache: false, h