jQuery ajax多个checkbox选中值的传递

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>
	</head>
	<body>
		<form>
			<p>姓名:<input type="text" name="username"></p>
			<p>爱好:<input type="checkbox" name="hobby[]" value="swiming">游泳
				<input type="checkbox" name="hobby[]" value="reading">读书
				<input type="checkbox" name="hobby[]" value="running">跑步
			</p>
			<p>描述:<textarea name="desc" cols="40" rows="5"></textarea></p>
			<input type="button" value="提交">
		</form>
		<script>
		
			$('input[type=button]').on('click',function(){
    
    
				var username=$('input[type=text]').val();
				var desc=$('textarea[name=desc]').val();
				var hobby=decodeURIComponent($('input[type=checkbox]').serialize());   //这里就是关键,获取所有类型为type=checkbox的值,再用serialize()将序列化,创建URL编码文本字符串,再用decodeURIComponent转化。
				$.ajaxSetup({
    
    
					type:'GET',
					url:'1.php',
					dataType:'json',
					data:{
    
    'username':username,'hobby':hobby,'desc':desc},
					success:function(msg){
    
    
						console.log(msg.name+'-'+msg.hobby+'-'+msg.desc);
					}
				});
				$.ajax();
			});
		</script>
	</body>
</html>

下面是1.php的代码,获取表单的值再输出

<?php
$name=$_GET['username'];
$hobby=$_GET['hobby'];
$desc=$_GET['desc'];
$arr=['name'=>$name,'hobby'=>$hobby,'desc'=>$desc];
echo json_encode($arr);
?>

猜你喜欢

转载自blog.csdn.net/cdcdhj/article/details/112305947
今日推荐