layui checkbox name只拿到最后一个值value解决办法

<input type="checkbox" name="cityNos" lay-skin="primary" lay-filter="c_one"  title="北京" value="10001">
<input type="checkbox" name="cityNos" lay-skin="primary" lay-filter="c_one"  title="南京" value="10002">
<input type="checkbox" name="cityNos" lay-skin="primary" lay-filter="c_one"  title="西安" value="10003">
<input type="checkbox" name="cityNos" lay-skin="primary" lay-filter="c_one"  title="常州" value="10004">

接上上篇的,随之暴露出一个问题,就是在提交时候 

表单直接submi提交还好,到后台Controller时String  cityNos还是能够收到10001,10002这样的字符串的

但是在Ajax提交时候 就只能获取到最后一个选项的值的问题  解决办法很简单

在layui的data.field  拿数据的时候  先赋值一下就好了

就是用js用 "," 拼接了一下选中的value值,然后赋值给data

  var checkboxValue="";
            $("input:checkbox[name='cityNos']:checked").each(function() { // 遍历name=standard的多选框
                if(checkboxValue==0){
                    checkboxValue = $(this).val();
                    return true;
                }
                checkboxValue += ',' + $(this).val();

            });
            data.field.cityNos=checkboxValue;
            $.ajax({
                type: 'POST',
                url: '/url',
                data: data.field,
                dataType: 'json',
                success: function (resp) {
                   //处理业务
                }
            });

然后你再提交就是了

猜你喜欢

转载自blog.csdn.net/qq_16513911/article/details/81981733