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

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

js部分

     $.ajax({
url : rootPath+'/jasframework/ycsy/queryCameraBelongZID.do?',
success : function(result) {
var seHtml = "";
for(var i = 0 ;i<result.length; i++) {
seHtml += "<option>"+result[i].text+"</option>";
}
$("#mateBelongZID").html(seHtml);
},
async : true,
dataType : "json"
});

方法二、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;
}

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

     $.ajax({
url : strUrl,
success : function(result) {
// alert(result);
if(result==null){
alert("抱歉,所选区域的井暂无层位信息!");
}else{
var res = result;
var arr = res.split(",");
var seHtml = "";
for(var val in arr) {
seHtml += "<option>"+arr[val]+"</option>";
}
$("#cengwei").html(seHtml);
} // $("ol").append("<li>Appended item</li>");
},
async : true,
dataType : "text"
});

前台

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

后台

     /**
* get 所有生产层位信息
*
* @throws IOException
*/
@RequestMapping("/getAllCengwei")
@ResponseBody
public void getAllCengwei(HttpServletRequest request, HttpServletResponse response) throws IOException {
String wellNames=request.getParameter("wellNames");
String str="";
if(wellNames!=null && !"".equals(wellNames)){
wellNames=EncodeUtil.urlDecode(wellNames);
String[] wellName=wellNames.split(";");
for(int i=0;i<wellName.length;i++){
str+="'"+wellName[i]+"',";
}
}
String sql = "select distinct(cw)cw from ycsy_newhorizon t where t.Cw is not Null ";
if(str!=null && !"".equals(str)){
sql +="and t.jh in("+str.substring(0, str.length()-1)+") ";
}
List list = workareaInfoService.getAllCengwei(sql);
String cengwei = "";
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
String obj = (String) iterator.next();
cengwei += obj + ",";
}
if(cengwei!=null && !"".equals(cengwei)){
cengwei = cengwei.substring(0,cengwei.length()-1);
}
response.setCharacterEncoding("utf-8");
response.getWriter().write("所有层位," + cengwei);
}

分析: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动态添加元素。

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

  1. easyui datagrid 加载静态文件中的json数据

    本文主要介绍easyui datagrid 怎么加载静态文件里的json数据,开发环境vs2012, 一.json文件所处的位置 二.json文件内容 {"total":28,&q ...

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

    ExtJS ComboBox同时加载远程和本地数据 原文:http://gblog.hbcf.net/index.php/archives/233 ComboBox比较特殊需求,将远程数据和本地数据同 ...

  3. Bootstrap Modal 使用remote从远程加载内容

        Bootstrap的Modal这个模态窗组件还是很好用的,但在开发的过程中模态窗中的内容大部分都是从后端加载的.要实现模态窗的内容是从后端加载话,常用的实现方式有2种.它们是:     (1) ...

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

    在一个Unity项目中,发布包本身不一定要包括所有的Asset(译为资产或组件),其它的部分可以单独发布为.unity3d,再由程序从本地/远程加载执行,这部分不在本文讨论范围.虽然Unity并没有直 ...

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

    目前开发的方式是采用远程load页面来实现多页面效果,类似于126邮箱多标签页效果.但是比126邮箱的方式更好,因为页面打开后是load到本地的,126似乎还会重新请求.在近期项目该开发方式已经基本成 ...

  6. CSS远程加载字体

    CSS 远程加载字体的方法,做网站CSS的都知道,用户浏览网站时,网页上的字体是加载本地的.换言之,如果网站使用了用户电脑所没有安装的字体,那显示字体就会被默认字体所代替了,自然效果就大受影响了. 上 ...

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

    bootstrap模态框远程加载网页的方法 在bootsrap模态框文档里给出了这个方法: 使用链接模式 <a data-toggle="modal" href=" ...

  8. android 在自定义的listview(有刷新加载项)列表中,数据过少时不能铺满整个屏幕时,header和footer同时显示问题

    android  在自定义的listview(有刷新加载项)列表中,数据过少时,当刷新时,加载项也会显示,这是很头疼的一个问题,查阅了一些资料,总结了一个比较不错的方法: 原来代码: @Overrid ...

  9. 钓鱼攻击之远程加载恶意Word模版文件上线CS

    0x00 前言 利用Word文档加载附加模板时的缺陷所发起的恶意请求而达到的攻击目的,所以当目标用户点开攻击者发给他的恶意word文档就可以通过向远程服务器请求恶意模板并执行恶意模板上的恶意代码.这里 ...

随机推荐

  1. JS中函数的基础知识

    函数 一.  函数定义 函数又叫方法,在程序里面函数是用来执行某些特定功能的代码.为了减少重复使用代码,可以把特定功能的代码做成函数,需要使用时拿出来调用.alert();就是一个很常见的.简单的函数 ...

  2. date format 精辟讲解

    link: http://stackoverflow.com/questions/19533933/nsdateformatter-how-to-convert-wed-23-oct-2013-045 ...

  3. 管理员必须掌握的八个cmd命令

    一.ping   它是用来检查网络是否通畅或者网络连接速度的命令.作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的 ...

  4. 利用Linq + Jquery + Ajax 异步分页的实现

    在Web显示的时候我们经常会遇到分页显示,而网上的分页方法甚多,但都太过于消耗带宽,所以我想到了用Ajax来分页,利用返回的Json来处理返回的数据, 大大简化了带宽的压力. 先说下思路,无非就是异步 ...

  5. ASP.NET母版页与内容页相对路径的问题

    1. 图片问题 图片显示问题:<img runat="server" src="~/images/ad468x60.gif" alt="&quo ...

  6. Android 源码 判断网络数据类型

    private final void updateDataNetType(int slotId) { int tempDataNetType; NetworkType tempDataNetType3 ...

  7. Install WindowBuilder for Eclipse

    WindowBuilder官方下载安装说明地址:http://www.eclipse.org/windowbuilder/download.php 先祝各位能顺利安装上!以下是基于Eclipse in ...

  8. MySQL5.6 Replication主从复制(读写分离) 配置完整版

    MySQL5.6 Replication主从复制(读写分离) 配置完整版 MySQL5.6主从复制(读写分离)教程 1.MySQL5.6开始主从复制有两种方式: 基于日志(binlog): 基于GTI ...

  9. sessionID的本质

    SessionID的本质 一.客户端用cookie保存了sessionID 客户端用cookie保存了sessionID,当我们请求服务器的时候,会把这个sessionID一起发给服务器,服务器会到内 ...

  10. JDK环境变量解析

    设置环境变量 在java 中需要设置三个环境变量(1.5之后不用再设置classpath了,但个人强烈建议继续设置以保证向下兼用问题)JDK安装完成之后我们来设置环境变量:右击“我的电脑”,选择“属性 ...