后台直接从数据库,通过jdbcTemplate查询数据,得到List数据集,里面是Map

List<Map<String, Object>> list =  jdbcTemplate.queryForList(sql);

返回到前台的数据是这样的字符串

"[{name=zs,code=s1},{name=ls,code=s2},{name=ss,code=s3}]"

前台用JSON.parse(data)解析不了这种格式

combobox需要的是对象数组

解决办法:在后台List处理下,

用fastjson

JSON.toJSON(list)处理

然后传递到前台,就是这种格式:

"[{"name":"zs","code":"s1"},{"name":"ls","code":"s2"},{"name":"ss","code":"s3"}]"

这个时候前台,可以用JSON.parse(data)解析

data = JSON.parse(data)

处理数据,如果text为空,选中后,框内会显示空白,以防空白

for(var i=0;i<data.length;i++){
  var obj = new Object();
  obj.id = data[i].code;
  obj.text= data[i].name===''?data[i].code:data[i].name;
  alldata.push(obj);
}

  

//多选combobox

$('#column').combobox({
data: data,
valueField: 'id',
textField: 'text',
panelHeight: 'auto',
height:32,
multiple: true,
editable: false,
formatter: function (row) { // formatter方法就是实现了在每个下拉选项前面增加checkbox框的方法
var opts = $(this).combobox('options');
var id= row[opts.valueField];
var name= row[opts.textField];
if(name!=null&&name!=''){
return '<input type="checkbox" class="combobox-checkbox">' + name+"("+code+")";
}else{
return '<input type="checkbox" class="combobox-checkbox">' + code;
}
},
onLoadSuccess: function () { // 下拉框数据加载成功调用
debugger;
var cols = '${showColumns}';
if(cols!==''){
$('#column').combobox('setValues',cols.split(","));
}
//$('#column').combobox('select',cols); var opts = $(this).combobox('options');
var target = this;
var values = $(target).combobox('getValues');//获取选中的值的values
$.map(values, function (value) {
var el = opts.finder.getEl(target, value);
el.find('input.combobox-checkbox')._propAttr('checked', true);
})
},
onSelect: function (row) { //选中一个选项时调用
debugger;
var opts = $(this).combobox('options');
//获取选中的值的values
$("#column").val($(this).combobox('getValues')); //设置选中值所对应的复选框为选中状态
var el = opts.finder.getEl(this, row[opts.valueField]);
el.find('input.combobox-checkbox')._propAttr('checked', true);
},
onUnselect: function (row) {//不选中一个选项时调用
var opts = $(this).combobox('options');
//获取选中的值的values
$("#column").val($(this).combobox('getValues')); var el = opts.finder.getEl(this, row[opts.valueField]);
el.find('input.combobox-checkbox')._propAttr('checked', false);
}
});

  

从后台数据库查询的List数据怎么在前台combobox显示的更多相关文章

  1. laravel数据库查询返回的数据形式

    版本:laravel5.4+ 问题描述:laravel数据库查询返回的数据不是单纯的数组形式,而是数组与类似stdClass Object这种对象的结合体,即使在查询构造器中调用了toArray(), ...

  2. 转 zabbix 优化方法 以及 后台数据库查询方法 两则

    ############sample 1 https://blog.51cto.com/sfzhang88/1558254 如何从Zabbix数据库中获取监控数据 sfzhang关注6人评论40627 ...

  3. 在vue中的form表单中下拉框中的数据来自数据库查询到的数据

    文章目录 1.实现的效果: 2.前端html代码 3.js中的代码 4.后端的方法 1.实现的效果: 增加一个新的类型到数据库 2.前端html代码 需要注意的部分:prop后边是表单中的字段 v-m ...

  4. SQL数据库查询一列数据返回一行

    SQL:数据库合并列数据:遇到一个更新的问题 想要把查询到的数据某一列拼接成字符串形式返回用的是SQL数据库中的STUFF函数比如 查询到的表(u_College)如下Id Name Age Clas ...

  5. Spring Security从后台数据库查询实现登陆控制

    Spring Security框架是一个控制登陆的框架,通过配置文件获取后台的用户名及密码,进行比较进行登陆判断 使用步骤 1.导入依赖 <!-- 身份验证 --> <depende ...

  6. MySql数据库-查询、插入数据时转义函数的使用

    最近在看一部php的基础视频教程,在做案例的时,当通过用户名查询用户信息的时候,先使用了转义函数对客户提交的内容进行过滤之后再交给sql语句进行后续的操作.虽然能看到转义函数本身的作用,但是仍然有一些 ...

  7. sql server数据库查询取出重复数据记录

    问题:博主在2011年6月,广东技术师范大学大四的时候,从学校计算机科学学院网站看到招聘信息并到广东中原地产IT部面试,很清楚记得当时的面试题目:怎么从数据库里面查询重复记录. 解决方案:在sql s ...

  8. Java基于POI实现excel任意多级联动下拉列表——支持从数据库查询出多级数据后直接生成【附源码】

     Excel相关知识点 (1)名称管理器--Name Manager [CoderBaby]首先需要创建多个名称(包含key及value),作为下拉列表的数据源,后续通过名称引用.可通过菜单:&quo ...

  9. extjs 按条件查询出的数据在grid上不显示

    在对extjs的按条件查询时.发现仅仅要输入查询条件时,grid上查询的结果就不显示,可是假设不输入条件默认查询全部的 时候就能显示数据.输入条件时后台查出来的数据时时正确的返回到json格式的数据也 ...

随机推荐

  1. 静态路由、RIP、OSPF、BGP

      主要内容包含以下四点:(1)静态路由 (2)动态路由 (3)生成树 (4)VLAN 1.  什么是静态路由? 答:静态路由是管理人员手动配置和管理的路由 2.  静态路由由那些优点? 答:配置简单 ...

  2. vue v-slot

    参考链接:https://www.jianshu.com/p/7020636d68a5

  3. 石子合并/能量项链【区间dp】

    题目链接:http://www.51mxd.cn/problem.php-pid=737.htm 题目大意:给出n个石子堆以及这n个石子堆中石子数目,每次操作合并两个相邻的石子堆,代价为两个石子堆数目 ...

  4. 【转帖】深挖NUMA

    深挖NUMA http://www.litrin.net/2017/10/31/深挖numa/ 首先列出本站之前相关的几篇帖子: Linux的NUMA机制 NUMA对性能的影响 cgroup的cpus ...

  5. HanLP-基于HMM-Viterbi的人名识别原理介绍

    Hanlp自然语言处理包中的基于HMM-Viterbi处理人名识别的内容大概在年初的有分享过这类的文章,时间稍微久了一点,有点忘记了.看了 baiziyu 分享的这篇比我之前分享的要简单明了的多.下面 ...

  6. if (strAreaCode.Find("体检")>=0)

    string类提供了6种查找函数,每种函数以不同形式的find命名. 这些操作全部返回string::size_type类型的值,以下形式标记查找匹配所发生的位置: 或者返回一个名为string::n ...

  7. LibSVM格式简介

    对于训练或预测,XGBoost采用如下格式的实例文件: train.txt 1 101:1.2 102:0.03 0 1:2.1 10001:300 10002:400 0 0:1.3 1:0.3 1 ...

  8. php 压缩接口

    function rtnJson($obj) { if (!headers_sent() && // 如果页面头部信息还没有输出 extension_loaded("zlib ...

  9. 面试官:Kafka 如何优化内存缓冲机制造成的频繁 GC 问题?

    Jusfr 原创,转载请注明来自博客园 Request 与 Response 的响应格式 Request 与 Response 都是以 长度+内容 形式描述, 见于 A Guide To The Ka ...

  10. python经典小程序集锦(一) 实现九九乘法表

    本篇文章主要是收集整理一些小程序以供大家娱乐,或者是在面试的时候使用到.文章会持续更新,希望大家收藏关注哦. 1.代码实现过程 for i in range(1, 10): for j in rang ...