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文档就可以通过向远程服务器请求恶意模板并执行恶意模板上的恶意代码.这里 ...
随机推荐
- 引擎设计跟踪(九.14.2a) 导出插件问题修复和 Tangent Space 裂缝修复
由于工作很忙, 近半年的业余时间没空搞了, 不过工作马上忙完了, 趁十一有时间修了一些小问题. 这次更新跟骨骼动画无关, 修复了一个之前的, 关于tangent space裂缝的问题: 引擎设计跟踪( ...
- Kali Linux 命令集
系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS ...
- AngularJs学习笔记--expression
原版地址:http://code.angularjs.org/1.0.2/docs/guide/expression 表达式(Expressions)是类Javascript的代码片段,通常放置在绑定 ...
- 几个Google中国的访问IP
前面几个IP的访问速度比较快. 74.125.31.106 173.194.45.20 173.194.45.19 173.194.45.18 173.194.45.17 173.194.45.16 ...
- BZOJ 1029 [JSOI2007] 建筑抢修(贪心)
1029: [JSOI2007]建筑抢修 Time Limit: 4 Sec Memory Limit: 162 MBSubmit: 2285 Solved: 1004[Submit][Statu ...
- 如何快速查看将C反汇编的代码
查看反汇编主要的思路在于将 流程,处理,算法 区分开来.1 函数调用:原C代码: int sum(int, int);int main(){ int c = sum(1, 2); printf(&qu ...
- linux - 使用curl实现新浪天气API应用
新浪天气API的使用方法: API地址:http://php.weather.sina.com.cn/xml.php?city=%B1%B1%BE%A9&password=DJOYnieT82 ...
- WaitForTargetFPS
WaitForTargetFPS,是关于帧数限制的,你可能开了垂直同步,其实是防止撕裂.先说撕裂,在显示器的帧缓存会被不同步的显卡的帧缓存给替换掉,导致显示器显示到一半的时候,内存被换掉,你看到上频是 ...
- Linuxshell脚本之if条件判断
IF条件判断 .基本语法: if [ command ]; then 符合该条件执行的语句 fi .扩展语法: if [ command ];then 符合该条件执行的语句 elif [ comman ...
- Codeforces446C DZY Loves Fibonacci Numbers(线段树 or 分块?)
第一次看到段更斐波那契数列的,整个人都不会好了.事后看了题解才明白了一些. 首先利用二次剩余的知识,以及一些数列递推式子有下面的 至于怎么解出x^2==5(mod 10^9+9),我就不知道了,但是要 ...