插件思维导图以及相关案例:
<style type="text/css">
#myForm label.error{
color: red;
font-size: 14px;
}
</style>
<!-- 引入jQuery库 -->
<script type="text/javascript" src="js/jquery-3.3.1.js"></script>
<!-- 引入Jquery表单验证类库 -->
<script src="js/jquery.validate.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
/* jQuery第五次课☞插件 */
/*
* 区分java的类方法以及对象方法
* --类(静态)方法:例如DBHelper.getCon()
* --对象方法:StuDao sd = new StuDao(); sd.addStu();
*/
$(function() {
/* 一、自定义插件 */
//1.1 $.extend()实现对象继承
//案例1:两个对象的继承
var s1={};
var s2={"name":"大炮","age":38};
console.info("继承前:"+s1.name,s1.age);
console.info("继承前:"+s2.name,s2.age);
//开始继承
$.extend(s1,s2);//s1继承s2
console.info("继承后:"+s1.name,s1.age);
console.info("继承后:"+s2.name,s2.age);
//1.2 $.extend()扩展jQuery类方法
//案例2:求最大值(最小值)
$.extend({
abcd:function(){
alert(1234);
},
getMax:function(a,b){
return a>b?a:b;
},
getMin:function(a,b){
return a>b?a:b;
}
});
// $.abcd();
var max=$.getMax(10,40);
console.info(max);
// console.info($.getMax(10,50));
//1.3 $.fn.extend()扩展jQuery对象方法
$.fn.extend({
xx:function(){
$(this).each(function(i,ck){//下标,ck指每一个复选框
ck.checked=true;
})
},
yy:function(){
$(this).each(function(i,ck){//下标,ck指每一个复选框
ck.checked=false;
})
}
})
//案例3:实现全选效果
//用按钮实现
/* $("#ok").click(function(){
$(".aaa").xx();
})
$("#nook").click(function(){
$(".aaa").yy();
}) */
//用复选框实现
$("#qx").on("click",function(){
//判断全选框是否选中
// console.info($(this).prop("checked"));
// if($(this).prop(":checked")){//选中了
if($(this).is(":checked")){
$(".aaa").xx();//让其他复选框选中
}
else{
$(".aaa").yy();
}
})
//给其他复选框添加点击事件
// $(".aaa").click(function(){
// var f=true;//加社全选框是选中的
// $(".aaa").each(function(i,ck){//ck指每一个复选框
// if(ck.checked==false){//有任何一个复选框没有选中
// f=false;
// }
// })
// $("#qx").prop("checked",f);//改变1全选框的状态
// })
/* 二、第三方插件:表单验证插件 */
//案例4:表单验证(用户名、密码、确认密码、年龄、邮箱、网址url)
$("#myForm").validate({
rules: {
//表单字段规则
uname:{
required: true,
rangelength:[6,10]
},
upwd1:"required",
upwd2:{
required:true,
qualTo:"#upwd1"
},
uemail:{
required:true,
email:true
},
uage:{
required:true,
range:[1,150]
},
uurl:{
required:true,
url:true
}
},
messages: {
//错误信息提示
uname:{
required:"用户名必须填呦",
rangelength:"用户名长度必须在6-10位之间呦"
}
}
});
})
</script>
表单验证示意图:
表单验证规则: