checkbox 全选问题!

未结贴
5 88
xuffy xuffy 发布于9天前
悬赏:5飞吻
正常的使用layui 写checkbox全选会遇到两个问题:
1.自己修改了checkbox的checked值,然后用form.render('checkbox')更新会出现点两次之后render渲染失败了!
2.不用render重新渲染checkbox,自己给checkbox样式加上 layui-form-checkbox ,全选是可以了,但是全选后的checkbox 需要点击两次才能取消!

  • 贴代码看看
    0 回复
  • xuffy xuffy
    9天前
    查看了layui源码 发现第一个问题render渲染失败可能是render最后的判断逻辑也许有问题。

    我又看了form复选框源码


    发现源码①的地方是在监听事件前获取了checkbox元素,这样就有可能出现,开发者去修改了checkbox的checked值,但是源码还是读取之前的checkbox元素。
    所以这里①的代码应该放在②的位置,每次都去重新获取checkbox元素。(建议)

    但是可以在保证不改源码也可以实现,你要去对全选的每个checkbox多加一句checked = true才行(需要循环添加)


    纠结了大半天的BUG解决了[困]
    0 回复
  • xuffy xuffy
    9天前
    @放逐之魚 更新了
    0 回复
  • @xuffy 你是怎么修改checked值的,用attr么
    0 回复
  • xuffy xuffy
    9天前
    @放逐之魚 其实你不需要去给checkbox添加checked值
    $('input[type="checkbox"]')[0].checked=true; //或者false 不用去加attr属性
    然后把他相邻的样式修改下
    $('input[type="checkbox"]').next('.layui-form-checkbox').removeClass('layui-form-checked')
    或者
    $('input[type="checkbox"]').next('.layui-form-checkbox').addClass('layui-form-checked')

    就可以了
    0 回复
最近热帖
layui 1.0.8 发布,一次用心的小版本升级 5456
layer 3.0.2 发布,千锤百炼下的稳健弹层方案 1213
基于LayUI的后台管理模板BeginnerAdmin更新啦~~~~~~~~~~~~~~ 589
Layer真心好用,有了它,我作为一个phper终于有信心抛开二次开发 341
layui不好用啊,好复杂啊 313
layui 三级联动 276
不得不承认,非常棒的一个富文本编辑器 231
ThinkPHP基于Layui无刷提交数据表单,亲测可用 229
CSDN有人公开LayIM源码,弄他 218
wangeditor富文本编辑器整合到fly社区,UI完美 161
layim下载
近期热议
layui 1.0.8 发布,一次用心的小版本升级 56
layui不好用啊,好复杂啊 13
基于LayUI的后台管理模板BeginnerAdmin更新啦~~~~~~~~~~~~~~ 13
通过ajax动态生成的新checkbox添加到table里面样式不存在了,怎么才能重新渲染? 13
layui的进度条总是无法显示 10
关于富文本框的内容清空问题 10
layer.confirm弹出之后的keydown事件 10
layim怎么接入php服务端啊,急急急 8
请问layui的tab切换,防止页面刷新效果重置是怎么实现的? 8
富文本框和默认图标不一样是什么鬼 7