jQuery标签选择器使用

1.jQuery获取表单的全部数据。

       jQuery序列化表单数据 可以使用serialize()和 serializeArray()。

它们的区别如下:

(1).serialize()方法

   格式:var data= $("form").serialize();

   功能:将表单内容序列化成一个字符串。

这样在ajax提交表单数据时,就不用一一列举出每一个参数。只需将data参数设置为$("form").serialize() 即可。

        data="username=kidd&mobile=12312312312"

(2).serializeArray()方法

   格式:varjsonData = $("form").serializeArray();

   功能:将页面表单序列化成一个JSON结构的对象。注意不是JSON字符串。

比如,[{"name":"lihui","age":"20"},{...}] 获取数据为 jsonData[0].name

       data={"username":"kidd","mobile":"12312312312"}


2.jQuery获取表单指定name或者class或者id的数据值。

       姓名<input type="text"id="username" class="username" name="username"value="">

       手机<input type="text" id="mobile"class="mobile" name="mobile" value="">

//获取姓名的数据
$('#username').val();                      //id选择器
$('.username').val();                      //class选择器
$('[name="username"]').val();              //属性选择器
$('input:eq(0)').val();                    //过滤选择器
$('input:first').val();                    //过滤选择器
$(':text:eq(0)').val();                    //表单选择器
$(':text:first').val();                    //表单选择器 

 
//获取手机的数据
$('#mobile').val();                      //id选择器
$('.mobile').val();                      //class选择器
$('[name="mobile"]').val();              //属性选择器
$('input:eq(1)').val();                  //过滤选择器
$('input:last').val();                   //过滤选择器
$(':text:eq(1)').val();                  //表单选择器
$(':text:last').val();                   //表单选择器 

3.jQuery如何修改表单指定name,class,id的值。

       修改表单元素的值,$(选择器).val(newdata);

//修改姓名
$('#username').val(newdata);                      //id选择器
$('.username').val(newdata);                      //class选择器
$('[name="username"]').val(newdata);              //属性选择器
//修改电话
$('#mobile').val(newdata);                        //id选择器
$('.mobile').val(newdata);                        //class选择器
$('[name="mobile"]').val(newdata);                //属性选择器


4.jQuery如何找到父元素下指定class的子元素。

<div class="regist">
              <divclass="name_element">
                     <label>姓名</label>
                     <inputtype="text" name="name">
                     <span></span>      
              </div>
              <divclass="mobile_element">
                     <label>手机</label>
                     <inputtype="text" name="mobile">
                     <span></span>      
              </div>    
</div>

想要获取到regist下面的姓名中input的值可以使用后代选择器或者查找函数。

后代选择器:alert($('.registdiv:eq(0) [name="name"]').val());

find函数:  alert($('.regist').find('[name="name"]').val());     

练习demo

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>jQuery表单选择器</title>
	<style type="text/css">
		*{margin:0;padding:0;font-size:16px;}
		.regist div{margin:10px auto;width: 500px;}
		.regist label{display:inline-block;width:90px;text-align:right;}
		.submit_element{width:100px;text-align: center;}
	</style>
	<script src="http://cdn.bootcss.com/jquery/3.1.1/jquery.min.js"></script>
</head>
<body>
	<form action="demo161229.php" method="post" class="regist_form">
		<div class="regist">
			<div class="name_element">
				<label>姓名</label>
				<input type="text" name="name">
				<span></span>	
			</div>
			<div class="password_element">
				<label>密码</label>
				<input type="text" name="password">
				<span></span>	
			</div>
			<div class="repassword_element">
				<label>确认密码</label>
				<input type="text" name="repassword">
				<span></span>	
			</div>
			<div class="sex_element">
				<label>性别</label>
				<input type="radio" name="sex" checked="checked" value="1">男<input type="radio" name="sex" value="0">女
				<span></span>	
			</div>
			<div class="submit_element">
				<input type="button" class="regist_btn" value="注册">
			</div>					
		</div>
	</form>	
</body>
<script type="text/javascript">
	function checkName(){
		var name=$.trim($('[name="name"]').val());
		var msg=null;
		var flag=false;
		if(name.length==0){
			msg='姓名不能为空';
		}else if(name.length<3){
			msg='姓名不能少于3个字';
		}else{
			msg='ok';
			flag='true';
		}
		$('.name_element span').text(msg);
		return flag;
	}
	function checkPassword(){
		var password=$('[name="password"]').val();
		var msg=null;
		var flag=false;
		if(password.length==0){
			msg='密码不能为空';
		}else if(password.length<6){
			msg='密码不能少于6个字符';
		}else{
			msg='ok';
			flag='true';
		}
		$('.password_element span').text(msg);
		return flag;
	}
	function checkRepassword(){
		var password=$('[name="password"]').val();
		var repassword=$('[name="repassword"]').val();
		var msg=null;
		var flag=false;
		if(repassword.length==0){
			msg='确认密码不能为空';
		}else if(password!=repassword){
			msg='两次密码不一致';
		}else{
			msg='ok';
			flag='true';
		}
		$('.repassword_element span').text(msg);
		return flag;
	}
	$(function(){
		$('[name="name"]').blur(function(){
			checkName();
		});
		$('[name="password"]').blur(function(){
			checkPassword();
		});
		$('[name="repassword"]').blur(function(){
			checkRepassword();
		});
		$('.regist_btn').click(function(){
			if(!checkName()){
				return;
			}
			if(!checkPassword()){
				return;
			}
			if(!checkRepassword()){
				return;
			}
			var url=$('form').attr('action');
			//序列化表单提交
			// $.post(url,$('form').serializeArray(),function(res){
			// 	res=$.parseJSON(res);
			// 	alert(res.info);
			// });
			




			//一个一个表单元素提交
			var name=$.trim($('[name="name"]').val());
			var password=$('[name="password"]').val();
			var repassword=$('[name="repassword"]').val();
			var sex=$('[name="sex"]').val();
			$.post(url,{name:name,password:password,repassword:repassword,sex:sex},function(res){
				res=$.parseJSON(res);
				alert(res.info);
			});			
		});
	});
</script>
</html>

后台页面

<?php
	$name=$_POST['name'];
	$mobile=$_POST['mobile'];
	$sex=$_POST['sex'];
	$time=time();
	if($sex==1){
		$sex='先生';
	}else{
		$sex='女士';
	}
	$time=date('Y-m-d H:i:s',$time);
	$info='恭喜你,'.$name.$sex.'你在'.$time.'成为了我们的会员!';
	$res=array(
			"status"=>1,
			"info"=>$info
		);
	echo json_encode($res);
	die();
?>


猜你喜欢

转载自blog.csdn.net/dyfc3sfd3s/article/details/53928531
今日推荐