layui组件checkbox选中取消,无反应,没效果
动态的设置checkbox的选中取消状态,选中状态。
$("input[type='checkbox']").each(function(){
$(this).prop('checked', false);
});
这样设置按理来说是会产生效果的,可是结果往往有点出人意料,点击取消全选没有任何的效果,也没有报错。
后来查阅官方文档后找到了原因
再每一次对layui 组件select,checkbox等操作后应该再进行渲染一遍。如下加入:form.render();
$("input[type='checkbox']").each(function(){
$(this).prop('checked', false);
});
layui.form.render();
//form.render("checkbox")
//两种方式都可以
在打开页面,操作成功。
问题二:如果根据后台的数据想要动态的给checkbox赋值,每次赋值过后,在请求一次,会在原来选中的checkbox中添加新的选中数据,也就是说每一次的操作都在叠加,并没有取消请求之前选中的checkbox.
解决方法,在每一次重新请求之前都把checkbox选中的取消掉,请求成功过后重新匹配值再选中。
请求之前:
$("input[type='checkbox']").each(function(){
$(this).prop('checked', false);
});
layui.form.render();
请求之后:
for (var i = 0; i < resdata.length; i++) {
$("input[type='checkbox']").each(function(){
if($(this).val()== resdata[i].SensorID){
$(this).prop('checked', true);
}
})
}
layui.form.render();
请求之后重新选中
切记每次操作后都需要form.render();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
2022-06-13 使用git从误删整个项目到恢复所有文件的经历