jQuery ---- 插件

本文介绍了jQuery中$.extend()方法用于实现对象继承和扩展类方法,以及$.fn.extend()用于扩展jQuery对象方法。通过案例展示了全选、全不选功能的实现,并讲解了如何为复选框添加点击事件来同步全选状态。此外,还演示了使用jQuery validation插件进行表单验证,包括用户名、密码、年龄、邮箱、网址等字段的必填和格式验证。
摘要由CSDN通过智能技术生成

一、自定义插件

案例1两个对象的继承

1.1 $.extend()实现对象继承

                        var s1={};
//                 var s2={"name":"小小","age":20};
//                 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);

案例2求最大值(最小值)

1.2 $.extend()扩展jQuery类方法

       方法:        

         $.extend({
//                     abcd:function(){
//                         alert(2);
//                     },
//                     getMax:function(a,b){
//                         return a>b?a:b;
//                     },
//                     getMin:function(){
//                         return a<b?a:b;
//                     }
//                     });

最后调用类方法(必须接收或者大打印)

        var max=$.getMax(12,34);
                     console.info(max);
                    // $.abcd();

1.3 $.fn.extend()扩展jQuery对象方法

        定义方法:
				$.fn.extend({
					xx:function(){//方法名
						//遍历
						$(this).each(function(i,ck){//ck每一个复选框 ,this指代调用方法的人即三个复选框
							ck.checked=true;//让其选中
						})
					},
					yy:function(){
						//遍历
						$(this).each(function(i,ck){//ck每一个复选框
							ck.checked=false;//让其选中
						})
					}
				})

案例3:实现全选效果

1.按钮实现全选:

1.按钮实现全选
	调用方法
				$("#ok").click(function(){
					$(".aaa").xx();
				}),
				
				$("#not").click(function(){
					$(".aaa").yy();
				})

2.复选框实现全选

2.复选框实现全选
				$("#qx").click(function(){
					//让其他复选框和全选框状态保持一致
					// console.info($("#qx").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);
                })

二、第三方插件:使用jQuery validation插件完成表单

案例4:表单验证(用户名、密码、确认密码、年龄、邮箱、网址url)

 required:必填

$("#myForm").validate({
                    rules:{
                        //规则部分
                        uname:{
                            required:true,
                            rangelength:[6,10]//长度6-10之间
                        },
                        upwd1:"required",
                        upwd2:{
                            required:true,
                            equalTo:"#upwd1"
                        },
                        uemail:{
                            required:true,
                            email:true
                        },
                        uage:{
                            required:true,
                            range:[1,150]//1-150
                        },
                        uurl:{
                            required:true,
                            url:true
                        }
                    },
                    messages:{
                        //信息提示部分
                        uname:{
                            required:"用户名必填",
                            rangelength:"用户名长度必须在6-10之间"
                        },
                        upwd1:"密码必填",
                        upwd2:{
                            required:"新密码必填",
                            equalTo:"#upwd1"
                        },
                        uemail:{
                            required:"邮箱必填",
                            email:"邮箱格式不正确"
                        },
                        uage:{
                            required:"年龄必填",
                            range:"年龄要在1-150之间"//1-150
                        },
                        uurl:{
                            required:"网址必填",
                            url:"网址格式不正确"
                        }
                        
                    }
                })

                

                                                                                                                                                                                                                                                              GoodGoodStudy,dayDayUp!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值