checkbox 全选问题!

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

  • 放逐之魚 放逐之魚
    2017-02-17 15:41:42
    贴代码看看
    0 回复
  • xuffy xuffy
    2017-02-17 15:50:21
    查看了layui源码 发现第一个问题render渲染失败可能是render最后的判断逻辑也许有问题。

    我又看了form复选框源码


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

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


    纠结了大半天的BUG解决了[困]
    0 回复
  • xuffy xuffy
    2017-02-17 15:51:40
    @放逐之魚 更新了
    0 回复
  • 放逐之魚 放逐之魚
    2017-02-17 16:03:40
    @xuffy 你是怎么修改checked值的,用attr么
    0 回复
  • xuffy xuffy
    2017-02-17 16:28:29
    @放逐之魚 其实你不需要去给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 回复
  • Aries Aries
    2017-03-23 13:16:55
    @xuffy 有个问题,这边自己写双击事件,把checkbox打上勾后(通过加layui的类名layui-form-cheked使其打上勾),这个时候就有问题了,再次点击时打的勾不能取消,得等到第二次才能取消
    0 回复
  • 小阿超 小阿超
    12天前
    后台模板有分享地址吗?
    0 回复
  • xuffy xuffy
    10天前
    @小阿超 https://github.com/Xuffy/layui-WMS
    还在更新...
    0 回复
最近热帖
LayIM 授权门槛永久性定格 2665
layui所在服务器近期连续遭受DDoS攻击 2328
vip-admin Html v1.7.0 更新了 - 基于layui的后台模板 678
Layui 年度最佳案例 612
layer.alert阴影层问题,求大神解答 533
用layui做管理后台的请进 448
有学生愿意接活干吗?做网站!价格不是很高但是经常有活干 255
P8OS PHP全能环境面板 220
BeginnerAdmin后台模板 出现 这种情况怎么解决 214
麻烦问下fly模板的矢量图标在哪里获取的,如果我需要找到样式里面没有的,应该去哪里找 195
近期热议
LayIM 授权门槛永久性定格 42
layui所在服务器近期连续遭受DDoS攻击 26
麻烦问下fly模板的矢量图标在哪里获取的,如果我需要找到样式里面没有的,应该去哪里找 16
初次使用layer 发生了,这种情况,究竟是为何? 12
iframe里面点击元素怎么判断父元素是否有改该选项卡存在呢 11
急!修改回显问题~~~~ 10
求助。。。循环绑定传值问题 9
layui的编辑器是怎么配置出来的啊,难道不是layedit? 9
小魔方看到请进来,你的解决方法有bug 8
vip-admin Html v1.7.0 更新了 - 基于layui的后台模板 7