combobox远程加载数据的总结和Json数据的小结
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数据的小结的更多相关文章
- easyui datagrid 加载静态文件中的json数据
本文主要介绍easyui datagrid 怎么加载静态文件里的json数据,开发环境vs2012, 一.json文件所处的位置 二.json文件内容 {"total":28,&q ...
- ExtJS ComboBox同时加载远程和本地数据
ExtJS ComboBox同时加载远程和本地数据 原文:http://gblog.hbcf.net/index.php/archives/233 ComboBox比较特殊需求,将远程数据和本地数据同 ...
- Bootstrap Modal 使用remote从远程加载内容
Bootstrap的Modal这个模态窗组件还是很好用的,但在开发的过程中模态窗中的内容大部分都是从后端加载的.要实现模态窗的内容是从后端加载话,常用的实现方式有2种.它们是: (1) ...
- 在Unity中创建可远程加载的.unity3d包
在一个Unity项目中,发布包本身不一定要包括所有的Asset(译为资产或组件),其它的部分可以单独发布为.unity3d,再由程序从本地/远程加载执行,这部分不在本文讨论范围.虽然Unity并没有直 ...
- Ext2.0之Tabpanel AJAX远程加载多标签页面模式开发技巧
目前开发的方式是采用远程load页面来实现多页面效果,类似于126邮箱多标签页效果.但是比126邮箱的方式更好,因为页面打开后是load到本地的,126似乎还会重新请求.在近期项目该开发方式已经基本成 ...
- CSS远程加载字体
CSS 远程加载字体的方法,做网站CSS的都知道,用户浏览网站时,网页上的字体是加载本地的.换言之,如果网站使用了用户电脑所没有安装的字体,那显示字体就会被默认字体所代替了,自然效果就大受影响了. 上 ...
- bootstrap模态框远程加载网页的正确处理方式
bootstrap模态框远程加载网页的方法 在bootsrap模态框文档里给出了这个方法: 使用链接模式 <a data-toggle="modal" href=" ...
- android 在自定义的listview(有刷新加载项)列表中,数据过少时不能铺满整个屏幕时,header和footer同时显示问题
android 在自定义的listview(有刷新加载项)列表中,数据过少时,当刷新时,加载项也会显示,这是很头疼的一个问题,查阅了一些资料,总结了一个比较不错的方法: 原来代码: @Overrid ...
- 钓鱼攻击之远程加载恶意Word模版文件上线CS
0x00 前言 利用Word文档加载附加模板时的缺陷所发起的恶意请求而达到的攻击目的,所以当目标用户点开攻击者发给他的恶意word文档就可以通过向远程服务器请求恶意模板并执行恶意模板上的恶意代码.这里 ...
随机推荐
- 2010 Asia Fuzhou Regional Contest
A hard Aoshu Problem http://acm.hdu.edu.cn/showproblem.php?pid=3699 用深搜写排列,除法要注意,还有不能有前导零.当然可以5个for, ...
- 《JavaScript DOM编程艺术》
第2章JS语法关联数组在为新元素给出下标时,不必局限于整数数字.数组下标可以是字符串逻辑与&&只有两个操作数都是true时结果才为true逻辑或||只有两个操作数都是false时结果才 ...
- 自己写简单CoreDataManager封装对CoreData操作
关于CoreData的介绍太多,网上一搜大把全是,这里不介绍CoreData,直接上代码,注释写的很详细,应该很容易理解,暂时现做简单的增删该查,后面有时间再做修改完善. CoreDataManage ...
- SQLserver分页查询实例
Sqlserver数据库分页查询一直是Sqlserver的短板,闲来无事,想出几种方法,假设有表ARTICLE,字段ID.YEAR...(其他省略),数据53210条(客户真实数据,量不大),分页查询 ...
- http authorization basic请求代码示例
/** * */ package testJava.java; import java.io.BufferedReader; import java.io.InputStream; import ja ...
- mysql关联修改SQL及long与datetime类型相互转换
1.关联修改 #解决思路 UPDATE tb1,tb2 SET tb1.address=tb2.address WHERE tb1.name=tb2.name UPDATE car c,tmpcolo ...
- django转义safe
“何谓转义?就是把html语言的关键字过滤掉.例如,<div>就是html的关键字,如果要在html页面上呈现<div>,其源代码就必须是<div> 默认情况下,d ...
- 《JavaScript基础教程(第8版)》PDF
简介:JavaScript基础教程(第8版)循序渐进地讲述了JavaScript及相关的CSS.DOM.Ajax.jQuery等技术.书中从JavaScript语言基础开始,分别讨论了图像.框架.浏览 ...
- poj 2068 Nim 博弈论
思路:dp[i][j]:第i个人时还剩j个石头. 当j为0时,有必胜为1: 后继中有必败态的为必胜态!!记忆化搜索下就可以了! 代码如下: #include<iostream> #incl ...
- 如何学好oracle?(准备)
循序渐进 多练习 http://www.tudou.com/listplay/ScoGxMJZGQc/Nw9HE62XiGo.html