一、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

  

Thymeleaf+layui+jquery复选框回显的更多相关文章

  1. 复选框回显、全选、非全选、cookie处理数据、json数组对象转换处理学习笔记参考的页面

    <%@include file="/common/head.jsp"%> <%@ page contentType="text/html; charse ...

  2. Element-ui框架checkbox复选框回显

    先看下效果是不是你需要的..... 然后废话不多说,上代码,希望能够帮助到你... <template> <div class=''> <el-form label-wi ...

  3. js 复选框回显

    <div class="control-group"> <label class="control-label">客户状态:</l ...

  4. jquery复选框 选中事件 及其判断是否被选中

    jquery复选框 选中事件 及其判断是否被选中 (2014-07-25 14:03:54) 转载▼ 标签: jquery复选框选中事件 分类: extjs jquery   今天做了 显示和不显示密 ...

  5. Jquery复选框

    Jquery复选框 1.checkbox list选择 代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//E ...

  6. layui 添加复选框checkbox后,无法正确显示及点击的方法

    layui 添加复选框checkbox后,无法正确显示方式,这个是由于html里的样式添加 layui-form后,没有加载 form插件 ,具体如下: <body style="ba ...

  7. jquery 复选框

    jquery 选中复选框 $("input[type='checkbox']").prop("checked", true); jquery 判断复选框是否被选 ...

  8. jQuery 复选框全选/取消全选/反选

    jQuery实现的复选框全选/取消全选/反选及获得选择的值. 完整代码: <!DOCTYPE html> <html> <head> <script type ...

  9. Jquery复选框的全选全不选及选择所有复选框实现全选的复选框

    Jquery代码 $(function () { $(":checkbox.parentfunc").click(function () { //如何获取被点击的那个复选框 $(t ...

随机推荐

  1. uni-app map组件关于marker标记点动态设置的问题

    marker是Array类型,赋值的时候只能对整个数组进行更改赋值,不能只改变内部的对象,亲测Vue.$set()也不行 this.marker = [ { latitude: 39.90, long ...

  2. [linux]centos7.4上安装MySQL-8.0.11【完美安装】

    版本声明 centos7.4 MySQL-8.0.11 1.我用的阿里云的虚拟主机,刚从windows换到linux,需要装下常用工具 #安装下sz rz常用到上传下载的命令 yum install ...

  3. es添加index template

    在kibana页面选择最下方的management--elasticsearch--Index Management--Index Management 选择create a template添加in ...

  4. 配置Google支付相关参数(client_id, client_secret, refresh_token)

    1. 登陆Google开发者账号,点击左边API权限 Google控制台 创建新项目 转到 Google Play 管理中心的 API 权限页面. 接受<服务条款>. 点击创建新项目. 系 ...

  5. tomcat访问的重定向问题

    症状: tomcat在eclipse里面能正常启动,而在浏览器中访问http://localhost:8080/不能访问,且报404错误.同时其他项目页面也不能访问. 关闭eclipse里面的tomc ...

  6. Dapr-绑定构建块

    前言: 前篇-发布订阅文章对Dapr的订阅/发布进行了解,本篇继续对 绑定 构建块进行了解. 一.简介: Dapr 资源绑定使服务能够跨即时应用程序外部的外部资源集成业务操作. 来自外部系统的事件可能 ...

  7. 自定义 OpenShift s2i 镜像与模板——OracleJDK8

    本文目标 由于 OpenShift 官方提供的镜像与模板(OpenJDK8)不完全满足业务需要: 不包含飞行记录功能.只有 OpenJDK11 以上才被 Oracle 开源 生成堆 dump 很大很慢 ...

  8. 一个 Linux 后台程序编程案例分析

    Linux 下的一个进程打开一个日志文件,不定期地往该文件里写入日志.此时可以在控制台使用 mv 命令给该日志文件改个名字或者用 rm 命令把这个日志文件删除掉.Linux 下是允许这么干的!对于改日 ...

  9. STL的equal_range()

    equal_range()根据键值,返回一对迭代器的pair对象. 如果该键值在容器中存在,则pair对象中的第一个迭代器指向该键关联的第一个实例,第二个迭代器指向该键关联的最后一个实例的下一位置. ...

  10. Redis高并发处理常见问题及解决方案

    1. 大型电商系统高流量系统设计 场景: 大量电商系统每天要处理上亿请求,其中大量请求来自商品访问.下单.商品的详情是时刻变化,由于请求量过大,不会频繁去服务端获取商品信息,导致服务器压力极大.需要用 ...