jsp页面checkbox回显+ajax对于checkbox传值

jsp回显checkbox代码:

//修改已选中的文章分类
<div class="classification">
        文章分类:
        <c:forEach items="${category}" var="c">
            <c:if test="${key == c.id}">   //key是后端传过来的一个文章分类编号
                ${c.title}<input type="checkbox" name="classify" checked="checked"  value="${c.title}">   //这个复选框被选中
            c:if>
        c:forEach>
div>

一个button提交数据:

<input type="submit" class="button2" value="发布博客" onclick="submitBlog()"/>

ajax把复选框的值提交到后台:

 function submitBlog(){
            var category = [];
            $("input[name='classify']:checked").each(function (i) {
                category[i] = $(this).val();     //这里的val()与上面 的value一致,代表传到后台的内容
            });

            $.ajax(
                {
                    data:{
                        'category':category
                    },
                    traditional:true,   //traditional选项
                    dataType:'text',
                    type:'post',
                    url:'${pageContext.request.contextPath}/saveData',
                    success: function(data){
                        alter('成功');
                    },
                    error:(function(){
                        alert('category:'+category[0]+category[1]+category[2]);  //测试
                    })
                }
            );
        }

注意traditional选项写上true后台可以正常接收到,它的含义是是否使用传统的方式浅层序列化

jsp页面checkbox回显+ajax对于checkbox传值_第1张图片

你可能感兴趣的:(jsp,ajax)