一、Thymeleaf+layui+jquery复选框回显

  基于Thymeleaf模板下的layui+jquery复选框回显,主要是jquery。大致意思是:把数组转成JSON传到前台,再在前台转回数组 AJAX一般都是用JSON格式或XML格式来传递数据的JSON就是一种具有特殊格式的字符串。

1.实体类属性

1 //顾客等级
2 private Integer[] constomerGradeArray;
3 //用来存储json格式的顾客等级数组(方便数据传输)
4 private String constomerGradeString;

2.后台返回

@RequestMapping("goodsTypeList")
public String goodsType_list(Client client,Model model){
if(client!=null){
//将数组转为json格式
client.setConstomerGradeString(JSON.toJSONString(client.getConstomerGradeArray()));
model.addAttribute("client",client);
}
return "goodsType_list";
}

3.前台页面<div class="layui-form-item">

    <label class="layui-form-label">客户等级</label>
<div class="layui-input-inline" id="constomerGradeArray">
<!-- 如果是layui的表单提交input标签的name值是constomerGradeArray[] -->
<!-- 不然就会导致只提交过去一个值 (本人使用var data=$("form").serialize();) -->
     <input type="checkbox" name="constomerGradeArray" value="1" title="高级客户">
     <input type="checkbox" name="constomerGradeArray" value="2" title="VIP客户">
  </div>
</div>

4.jquery

layui.use(['form','jquery'], function(){
var form = layui.form;
var $ = layui.jquery; $(function () { if('[[${client.constomerGradeString}]]'!='null'){
//获取后台json /*用jQuery处理传过来的json值*/
var constomerGradeString=$.parseJSON('[[${client.constomerGradeString}]]');
//获取所有复选框的值
var constomerGradeArray = $("input[name='constomerGradeArray']");
                 //遍历json数组
$.each(constomerGradeString,function(i,json){
//获取所有复选框对象的value属性,用json数组和他们匹配,如果有,则说明他应被选中
$.each(constomerGradeArray,function(j,checkbox){
//获取复选框的value属性
var checkValue=$(checkbox).val();
if(json==checkValue){
$(checkbox).attr("checked",true);
}
})
//重新渲染(很重要:因为页面是用layui画的)
form.render();
})
}
})
})
}

参考链接:

  json转换:https://www.cnblogs.com/YeHuan/p/11221504.html 或 https://blog.csdn.net/qq_37444478/article/details/76209189

  主要代码:https://blog.csdn.net/w18853851252/article/details/82888109

  表单渲染:https://blog.csdn.net/qq_33048333/article/details/80609553

  

最新文章

  1. CentOS 6.6 升级GCC G++ (当前最新版本为v6.1.0) (完整)
  2. NFS服务器配置文档
  3. September 4th 2016 Week 37th Sunday
  4. Leetcode 189 Rotate Array stl
  5. 设计模式C#实现(八)——原型模式
  6. 自定义UserProvider,更改验证方法
  7. pom.xml报错
  8. 为每个页面加上Session判断 转
  9. C++ 多态性分析
  10. 201521145048 《Java程序设计》第7周学习总结
  11. 捕获arm托管磁盘虚拟机,并进行还原
  12. sublime text package control 被墙的解决办法
  13. vs2017 .net core 项目调试浏览器网页闪退Bug
  14. webstorm 2018 激活破解方法大全
  15. 去掉dede织梦position当前位置最后一个箭头的方法
  16. Ubuntu安装搜狗sougou输入法
  17. TreeSet集合的自然排序与比较器排序、Comparable接口的compareTo()方法
  18. halcon应用案例探究
  19. cmd输入appium-doctor,运行时提示&#39;node&#39;不是内部或外部的命令
  20. MonkeyRunner_手机触摸屏幕坐标获取

热门文章

  1. 了解php数据库常用语法增删改查
  2. Linux usb 2. 协议分析
  3. 经过4次优化我把python代码耗时减少95%
  4. ubuntu install redis
  5. 工程中实际问题解决两例——基于C#
  6. 动手写一个简单的Web框架(HelloWorld的实现)
  7. Django笔记&教程 2-1 URL与View关系
  8. Django笔记&教程 4-1 模型(Models)介绍
  9. python3排序 sorted(key=lambda)--实现对字典按value值排序
  10. BombEnemy(炸弹人)