一、Thymeleaf+layui+jquery復選框回顯
基于Thymeleaf模板下的layui+jquery復選框回顯,主要是jquery。大致意思是:把數組轉成JSON傳到前臺,再在前臺轉回數組?AJAX一般都是用JSON格式或XML格式來傳遞數據的JSON就是一種具有特殊格式的字符串。
1.實體類屬性
1 //顧客等級
2 private Integer[] constomerGradeArray;3 //用來存儲json格式的顧客等級數組(方便數據傳輸)
4 private String constomerGradeString;
View Code
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.前臺頁面
客戶等級
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