layer 复选框反选功能,以及获取复选框的选择状态。

1 篇文章 0 订阅
1 篇文章 0 订阅

其实我用过许多方法,发现layer的复选框用$("#id").checked以及 $(".class").checked等等是无法获取和改变它值的,只能用下面的循环语句获取复选框的选中状态,应该是layer本身把相关事件给屏蔽了吧。

//反选 
        function DoCheck() {
            //layui-unselect layui-form-checkbox layui-form-checked选择
            //layui-unselect layui-form-checkbox 未选择
 
            /**
            var test = document.getElementsByClassName("input");
 
            for (var i = 0; i < ch.length; i++) {
                if (test[i].type == "checkbox") {// && test[i].name.indexOf(checkBoxLikeName) != -1这个条件是要查找具体的checkbox name
 
                    if (test[i].checked == true)
                        test[i].checked = false;
                    else
                        test[i].checked = true;
                }
            }*/
 
            var ch = document.getElementsByClassName("checkbox19871");
 
            for (var i = 0; i < ch.length; i++) {
                if (ch[i].checked == true)
                    ch[i].checked = false;
                else
                    ch[i].checked = true;
            }
 
 
            var ch = document.getElementsByClassName("layui-unselect layui-form-checkbox");
 
            for (var i = 0; i < ch.length; i++) {
                if (ch[i].className == "layui-unselect layui-form-checkbox") {
                    ch[i].className = "layui-unselect layui-form-checkbox layui-form-checked";
                }
                else {
                    ch[i].className = "layui-unselect layui-form-checkbox";
                }
 
            }
 
 
            /*for(var i=0;i<ch.length;i++)
            {
                ch[i].checked=false;
            }*/
 
            return false;
        }
 
 
        //全选
        function DoCheck1() {
            var ch = document.getElementsByClassName("checkbox19871");
 
            for (var i = 0; i < ch.length; i++) {                
                    ch[i].checked = true;
            }
 
 
            var ch = document.getElementsByClassName("layui-unselect layui-form-checkbox");
 
            for (var i = 0; i < ch.length; i++) {                
                ch[i].className = "layui-unselect layui-form-checkbox layui-form-checked";
            }
            
            return false;
        }
 
 
        //全消
        function DoCheck2() {
            var ch = document.getElementsByClassName("checkbox19871");
 
            for (var i = 0; i < ch.length; i++) {
                ch[i].checked = false;                
            }
 
 
            var ch = document.getElementsByClassName("layui-unselect layui-form-checkbox");
 
            for (var i = 0; i < ch.length; i++) {                
                ch[i].className = "layui-unselect layui-form-checkbox";
            }
 
            return false;
        }
 
 
 
 
        function selectChecked(objectID)
        {            
            $("input[name='sbzhu']").attr("checked", "");
            $("input[tid=" + objectID + "]").attr("checked","");
            return false;
        }

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在layui中,可以使用form模块中的`form.val`方法获取表单元素的值,其中包括复选框的选中状态。具体操作步骤如下: 1. 给复选框设置相同的名称(name),但是不同的值(value),例如: ```html <input type="checkbox" name="hobby" value="reading" title="阅读"> <input type="checkbox" name="hobby" value="traveling" title="旅游"> <input type="checkbox" name="hobby" value="coding" title="编程"> ``` 2. 在JavaScript代码中使用`form.val`方法获取选中的值,例如: ```javascript // 获取名为hobby的复选框的选中值 var hobby = form.val('example', {checkbox: ['hobby']}); console.log(hobby.hobby); // 输出选中的值,例如["reading", "coding"] ``` 其中,`'example'`表示表单的lay-filter属性值,`'hobby'`表示复选框的name属性值。`form.val`方法的第二个参数可以使用对象形式传递需要获取的表单元素的值,其中,`checkbox`表示获取复选框的值,值为一个数组,包含需要获取复选框的name属性值。获取的值为一个对象,包含所有需要获取的表单元素的值。 ### 回答2: 在layui中,可以通过以下步骤取得复选框选中的值: 1. 首先,给每个复选框设置一个唯一的name属性,例如name="checkbox[]",方便后续获取选中的复选框的值。 2. 使用layui的form模块的on('submit(formFilter)', function(data){})方法获取复选框选中的值。其中,'submit(formFilter)'中的formFilter是表单的过滤器,需要根据实际情况进行修改。 3. 在on('submit(formFilter)', function(data){})方法中,可以使用这个data对象来获取表单的所有数据。其中,data.field表示获取到的表单元素的值。 4. 对于复选框,我们可以通过data.field.checkbox来获取所有选中的复选框的值。checkbox对应的是复选框的name属性值。 5. 最后,使用layui的layer模块的msg方法来显示选中的复选框的值,例如layer.msg("选中的复选框值为:" + data.field.checkbox)。 总结一下,以上步骤就是在layui中获取复选框选中的值的方法。首先给复选框设置name属性,然后使用form模块的on('submit', function(data){})方法获取表单数据,再通过data.field获取复选框的值,并使用layer模块的msg方法来显示获取到的值。 ### 回答3: 在Layui中取复选框选中的值可以通过以下步骤实现: 1. 首先,在页面上定义一个复选框组件,每个复选框元素都有一个唯一的value属性用于标识其值。例如: ```html <input type="checkbox" name="fruit" value="apple" title="苹果" lay-skin="primary"> <input type="checkbox" name="fruit" value="banana" title="香蕉" lay-skin="primary"> <input type="checkbox" name="fruit" value="orange" title="橙子" lay-skin="primary"> ``` 2. 接下来,在JS代码中获取选中的值。可以通过下面的方式获取: ```javascript var selectedValues = []; $('input[name="fruit"]:checked').each(function() { selectedValues.push($(this).val()); }); ``` 上述代码中,我们首先定义一个数组selectedValues来保存选中的值。然后通过选择器`$('input[name="fruit"]:checked')`选取name为"fruit"且被选中的复选框元素,使用.each()方法来遍历选中的复选框,进而将它们的值添加到selectedValues数组中。 3. 最后,我们可以使用选中的值进行相应的逻辑处理,例如打印出来或者发送到后端进行处理。 ```javascript console.log(selectedValues); // 或者发送到后端处理 // $.ajax({ // url: '处理选中值的后端接口', // type: 'POST', // data: {values: selectedValues}, // success: function(result) { // // 处理返回结果 // } // }); ``` 总结:以上就是Layui中获取复选框选中的值的方法。首先定义复选框元素并设置value属性,然后使用选择器和.each()方法来获取选中的值,最后可以进行相应的处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值