layui中checkbox组件,怎么判断是否为checked?判断都勾选了哪个

layui中checkbox组件,怎么判断是否为checked?判断都勾选了哪个?下面的console.log("周一已经选中"),不输出啊?


<form class="layui-form" action="">
   <div class="layui-form-item" id="week" style="height:46px">
       <!-- <label class="layui-form-label">原始复选框</label>        -->
        <div class="layui-input-block" id="week1">
            <!-- 默认选择添加 checked="" -->
            <input type="checkbox" name="monday"    class="week" id="monday"    value="monday"    lay-skin="primary" title="周一" lay-filter="week">
            <input type="checkbox" name="trusday"   class="week" id="trusday"   value="trusday"   lay-skin="primary" title="周二" lay-filter="week">
            <input type="checkbox" name="wednesday" class="week" id="wednesday" value="wednesday" lay-skin="primary" title="周三" lay-filter="week">
            <input type="checkbox" name="thursday"  class="week" id="thursday"  value="thursday"  lay-skin="primary" title="周四" lay-filter="week">
            <input type="checkbox" name="friday"    class="week" id="friday"    value="friday"    lay-skin="primary" title="周五" lay-filter="week">
            <input type="checkbox" name="saturday"  class="week" id="saturday"  value="saturday"  lay-skin="primary" title="周六" lay-filter="week">
            <input type="checkbox" name="sunday"    class="week" id="sunday"    value="sunday"    lay-skin="primary" title="周日" lay-filter="week">                   
        </div>
   </div>
</form>
layui.form.on('checkbox(week)', function (data) {
if($('#monday').attr("checked") === "checked"){
         console.log("周一已经选中")
         }
})


layui.form.on('checkbox(week)', function(data) {
    // 当前点击的复选框是否被选中
    console.log(data.elem.checked)

    // 用prop()判断checked,选中返回true,未选中返回false
    if ($('#monday').prop("checked")) {
        console.log("周一已经选中")
    }else{
        console.log("周一没被选中")
    }
})

https://www.bejson.com/doc/layui/doc/modules/form.html

你表单 结构都不对 感觉

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/334310
  • 这篇博客也不错, 你可以看下layui 探索更改多个checkbox的选中值 checked状态
  • 除此之外, 这篇博客: layui checkbox 监听中的  普通单选框 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • <input lay-filter="switchTest" type="checkbox" name="type[]" value="1" title="葡萄">
  • 您还可以看一下 黄菊华老师的微信小程序商城15天从零实战课程课程中的 知识点-表单form数据如何获取(实例checkbox)小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    根据参考资料和已有知识,可以给出如下解决方案:

    1. 如何判断checkbox是否被选中:

    在layui中的checkbox组件中,可以使用form.on('checkbox(filter)', function(data){})方法来监听checkbox状态变化,当checkbox状态改变时可以执行相应的代码。具体实现方法如下:

    form.on('checkbox(test)', function(data){
      console.log(data.elem.checked); // 是否被选中,true或false
    });
    
    1. 如何判断用户勾选了哪一个checkbox:

    可以在每个checkbox上设置相同的name属性,然后通过document.getElementsByName("name")获取一个包含所有name属性值为name的元素的NodeList,再使用for循环遍历,判断每个checkbox的状态。具体实现方法如下:

    var nodes = document.getElementsByName("name");
    for (var i = 0; i < nodes.length; i++) {
      if (nodes[i].checked) {
        console.log(nodes[i].value); // 勾选的checkbox的值
      }
    }
    
    1. 如何让checkbox只允许选一个:

    可以使用radio组件替代checkbox组件,或者使用js来实现只允许选一个的效果,具体实现方法如下:

    var checkboxs = document.getElementsByName("name");
    for (var i = 0; i < checkboxs.length; i++) {
      checkboxs[i].onclick = function () {
        for (var j = 0; j < checkboxs.length; j++) {
          checkboxs[j].checked = false; // 先将所有checkbox的状态设置为未勾选
        }
        this.checked = true; // 将当前勾选的checkbox的状态设置为勾选
      }
    }
    

    以上是基于原生的HTML和JavaScript的实现方法,如果使用layui提供的组件,也可以参考文档进行相应的实现。