一次ligerui的ligerComboBox使用

一次ligerui的ligerComboBox使用

环境:jdk6,springMVC,jsp,oracle

ligerComboBox一般语法:

$("#jc").ligerComboBox({
		     	 width : 110,
		     	   selectBoxWidth:110,
		     	    //data:$("#jcsj").val(),
		     	    data:data,
		     	      valueField : 'dm',  textField: 'mc',
		     	       value:"8"		                	
		     	          	     });

目的:实现一个下拉框的数据是从session里获取达到初始化

起因:一开始是在js写死,领导想数据是从数据库里查到放到session里,然后js获取数据初始化

一开始:用户登录时,查找数据,放到session,request.getSession().setAttribute(“jcsj”,jcsj),返回的是list。
在前台获取:

<input id="jcsj" type="hidden" value="<%=request.getSession().getAttribute("jcsj") %>"/>
数据获取:var sj = $("#jcsj").val()

data数据处就放sj。
报错无法解析。

:放的都是json格式字符串,放list不对?找ligerui官网,无法查看源码就点查看去看代码,可惜全是写死的,再去看原来的写法,不过原来的全是发送ajax请求获取的数据,可是这次是从session获取到底哪里不对呢?不是放json格式字符串吗,我在后台写好传一个json字符串可以了吧,于是我就在后台循环组装一个字符串,再放到session传到前台。
还是不行,
:·我发现原来的数据alert全是一个个Object,我是一个字符串,我就new一个Array去承接这个值,不管是list(说是一个个对象)json字符串还是无法解析。有点绝望。
四:前台组装,报错。。。。。。

最终:花了我好几个小时,还是不行,只好照着ajax请求的返回值、取值方法试一下
首先:
把list放在map里,然后转换、加密,

	request.getSession().setAttribute("jcsj", Base64.encodeBase64String(JSONObject.fromObject(map).toString().getBytes("utf-8")));

前台js:

	var jcsjlist = JSON.parse($.base64().decode($("#jcsj").val())).jcsjlist;
	var jcarray = new Array();
	jcarray=jcsjlist;

把jcarray放到data即可。

我其实只知道格式不对,至于为什么不对还是不了解。
如果哪位大佬知道如何简化或者我为什么一直出错,望告知,谢谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值