您现在的位置:首页 > 博客 > 前端插件 > 正文
layui表单提交同名多值字段如checkbox无法全部获取问题
http://www.bbnsc.com/      2023/9/19 11:09:47      来源:贝恩斯网络·技术博客      点击:
  1. 说说最近在使用layui中遇到的一个坑,checkbox的表单是漂亮,样式也很丰富,可是有个问题,如果像以前一样用同名的checkbox去提交的话,居然只能传送其中一个选中值,不能像这前普通表单一样提交所有同名的被选中的值去组成数组,总不能让我每个checkbox都单独命名一个吧。

  2. 2

    在网上搜索了半天,都是仅在当前页面获取选中值状态的,没有和我一样的,只能自己写了,代码如下:

    html代码

    <input type="checkbox" name="prjtrsc" value="改善房" title="改善房" checked> 

    <input type="checkbox" name="prjtrsc" value="品牌开发商" title="品牌开发商" checked>

    <input type="checkbox" name="prjtrsc" value="刚需房" title="刚需房" >

  3. 3

    提交代码

    //监听提交

                form.on('submit(add)', function (data) {                

                    var arr_check = []; //定义一个临时数据

                    $("input:checkbox[name='prjtrsc']:checked").each(function() {

                        arr_check.push($(this).val());  //获取checkbox name=prjtrsc 的所有选中值

                    });

                    data.field.prjtrsc = arr_check.toString(); //替换到原表单中对应的data.field值

                    //console.log(data.field);

                    $.ajax({

                        url: 'xxxxx',

                        method: 'post',

                        data: data.field,

                        dataType: 'JSON',

                        success: function (res) {

                            if (res.errStat == 0) {

                                if(res.errMsg=='xxxx'){

                                    layer.alert("修改成功",{icon:6},function(){

                                        xadmin.close();

                                        xadmin.father_reload();

                                    });

                                }else{

                                    layer.alert("增加成功", {

                                    icon: 6

                                    }, function () {

                                        location.reload();

                                    });     

                                }

                                

                            } else {

                                layer.msg(res.errMsg, {icon: 5});

                            }

     

                        },

                        error: function (data) {

                            layer.msg('服务器繁忙', {icon: 5});

                        }

                    });

                    return false;

                });


发表评论(0)
姓名
*
评论内容
*
验证码
*图片看不清?点击重新得到验证码