牛骨文教育服务平台(让学习变的简单)
博文笔记

ajax对于checkbox的传值

创建时间:2016-08-25 投稿人: 浏览次数:6059

ajax、php和jquery对于checkbox的传值

最近遇到一个问题就是checkbox的值通过ajax传递,不知道该怎么写,查找网上的代码很多都是单独把checkbox单独传递。类似于下面这样
<input type="checkbox" name="student" value="1" data-age="18" />
<input type="checkbox" name="student" value="2" data-age="19" />
<input type="checkbox" name="student" value="3" data-age="20" />
var student = $("input[name="student"]:checked").serialize();
$.ajax({
    url: "***.php",
    type: "post",
    data: student,
    success: function (result) {
        //
    }
});
但是对于一个form,除了有checkbox外还有其他的控件。为了将整个form都传递给php。需要将checkbox的值传递给隐藏的input
$("input[type=checkbox]").change(function(){
          $("#Account").val($("input[type=checkbox]:checked").map(function(){return this.value}).get().join(","))
        })
然后将其序列化之后传递
var obj = $("#video_form").serialize();
        $.ajax({
             type: "POST",
             url: "add_video.php",
             data: $("#video_form").serialize(),
             success: function(data){
                 //$("#loadingModal").modal("hide");
                  var res = $.parseJSON(data);
                 if(res.status === "success"){
                     alert("success");
                 }else{
                     $("#alert").css("display","block");
                     alert(res.msg);
                 }
             },
             error: function(data){
                 
             }
        });
之后再php页面直接将$_POST["Account"]赋值给变量,然后将变量分隔开即可得到checkbox的每个值,之后再进行操作即可。


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。