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的每个值,之后再进行操作即可。