JQuery基礎原理 與實例 驗證表單 省市聯動 文本框判空 單選 覆選 判空 下拉判空 確認密碼判等

来源:https://www.cnblogs.com/qingyundian/archive/2018/03/29/8667473.html
-Advertisement-
Play Games

JQuery 基礎原理 JQuery 驗證表單 ...


JQuery 基礎原理

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <script src="js/jquery-1.11.0.min.js" type="text/javascript" ></script>
<!--
        原來使用jquery(function(){})來表示window.onload(function(){})
        現在用$代替jquery(),節省代碼$(function(){})
        1.DOM對象和JQuery對象互相不通用
        DOM 
        window.onload=function(){var input=document.getElementById("in");alert(input.value);}
        JQuery
        var $in=$("#in");
        alert($in.val()); JQuery中函數val()獲得值,不能調用.value拿值
        2.把input變成JQuery對象
        var $in2=$("input");穿上馬甲
        alert($in2.val());
        3.把Jquery對象變成Dom對象
        俗稱脫馬甲
        JQuery對象本質是存儲多個DOM對象的數組
        $(JQuery對象)[0]=DOM對象
        例子
        var in2= $in2[0];
        alert(in2.value);
        4.JQuery最厲害的是 選擇器 ,提供了N多種方式,與樣式表css是一樣的
        ../表示上一層文件夾
        id選擇器
        $("#b1").click(function(){
            使用css函數修改
            $("#one").css("background","red");
            且支持方法調用鏈
            $("#one").css("background","red").css("color","green");
        });
        標簽選擇器
        $("#b2").click(function(){
            $("div").css("background","red");
        })
        類選擇器
        $("#b3").click(function(){
            $(".mini").css("background","red");
        })
        多個選擇的選擇器,可以寫兩個,也可以用,分開
        $("#b4").click(function(){
            $("span").css("background","red");
            $("#two").css("background","red");
            $("span,#two").css("background","red");
        })
        
        二.層次選擇器
        1.所有後代div
        $("#b1").click(function(){
            $("body div").css("background","red");
        })
        2.只找子div
        $("#b2").click(function(){
            $("body>div").css("background","red");
        })
        3.下一個弟弟是紅色的,但是他兒子不是紅的
        $("#b3").click(function(){
            $("#one+div").css("background","red");
        })
        4.同輩分的弟弟是紅色的,但是他們兒子不是紅的
        $("#b4").click(function(){
            $("#two~div").css("background","red");
        })
        5.同輩分的所有兄弟是紅色的,不包括自己,但是他們兒子不是紅的
        $("#b5").click(function(){
            $("#two").sibling("div").css("background","red");
        })
        
        三.屬性選擇器
        1.div中含有屬性title
        $("#b1").click(function(){
            $("div[title]").css("background","red");
        })
        2.div所有title屬性是test
        $("#b2").click(function(){
            $("div[title=test]").css("background","red");
        })
        3.div所有title屬性不是test 其他都變
        $("#b3").click(function(){
            $("div[title!=test]").css("background","red");
        })
        4.div所有title屬性是te開頭
        $("#b4").click(function(){
            $("div[title^=te]").css("background","red");
        })
        5.div所有title屬性是xt結尾
        $("#b5").click(function(){
            $("div[title$=est]").css("background","red");
        })
        6.div所有title屬性含有es
        $("#b6").click(function(){
            $("div[title*=es]").css("background","red");
        })
        7.有id屬性且有含有es
        $("#b7").click(function(){
            $("div[id][title*=es]").sibling("div").css("background","red");
        })
        
        三.基本過濾選擇器
        1.div中的第一個
        $("#b1").click(function(){
            $("div:first").css("background","red");
        })
        2.div中的最後一個
        $("#b2").click(function(){
            $("div:last").css("background","red");
        })
        3.div class不為one
        $("#b3").click(function(){
            $("div:not(.one)").css("background","red");
        })
        4.div索引值為偶數 索引運算元索引
        $("#b4").click(function(){
            $("div:even").css("background","red");
        })
        5.div索引值為奇數 索引運算元索引
        $("#b5").click(function(){
            $("div:odd").css("background","red");
        })
        6.div索引值大於3的
        $("#b6").click(function(){
            $("div:gt(3)").css("background","red");
        })
        7.div索引值等於3的
        $("#b7").click(function(){
            $("div:eq(3)").css("background","red");
        })
        8.div索引值小於3的
        $("#b8").click(function(){
            $("div:lt(3)").css("background","red");
        })
        9.h1-h6
        $("#b9").click(function(){
            $(":header").css("background","red");
        })
        10.h1-h6
        $("#b10").click(function(){
            $(":animated").css("background","red");
        })
        
        四.基本過濾選擇器
        1.可用 屬性
        $("#b1").click(function(){
            var $input=("input[type=text]:enabled");
            alert($input.val());是拿值
            $input.val(1);傳值就是賦值$input.val("隨便");
            
        })
        2.不可用
        $("#b2").click(function(){
            var $input=("input[type=text]:disabled");
            alert($input.val());是拿值
            $input.val(1);傳值就是賦值$input.val("隨便");
            
        })
        3.覆選框被選中
        $("#b3").click(function(){
            $("input[type=checkbox]:checked").css("background","red");
        })
        4.下拉菜單中被選中的選項
        $("#b4").click(function(){
            $("#job>option:selected").css("background","red");
            for(var i=0;i<$select.length;i++){
                遍歷變成DOM對象
                var $text=$($select[i]).text();
                alert($text);
            }
            html();也行,不傳參獲取,傳參設置
            
        
        })
        5.div索引值為奇數 索引運算元索引
        $("#b5").click(function(){
            $("div:odd").css("background","red");
        })
        
        
-->
        
        
        
        <script type="text/javascript">
            $(function(){
//                var $in=$("#in");
//                alert($in.val());
                
                var $in2=$("input");
//                alert($in2.val());

                var in2= $in2[0];
                alert(in2.value);
                
                /*增加動畫效果*/
                $("#mover").slideUp(6000,function(){});
                    
            })
            
        </script>
        <input type="text" value="swift" id="in"/>
        <div id="mover" width="100px" style="background-color: blue;">
            
        </div>
    </body>
</html>

JQuery 驗證表單

<!DOCTYPE html>
<html>
    <meta charset="utf-8">
    <title></title>
    <head>
        
    <style type="text/css">
        .errorspan {
            color: red;
            font-size: 12px;
        }
    </style>
    <!--<script type="text/javascript">
        //定義一個正則 非空
        var reg = /^\s*$/;
        
        //校驗表單主方法
        function run(){
            clearSpan();//清空span校驗信息 
            var flag1=checkNotNull("username");//用戶名校驗
            var flag2=checkNotNull("pwd");//密碼校驗
            var flag3=checkNotNull("pwd2");//確認密碼校驗
            var flag4=checkIschoice("utype");//用戶類型校驗
            var flag5=checkIsSelected("city");//所在城市校驗
            var flag6=checkpwd(flag2,flag3);//驗證密碼和確認密碼是否一致
            return flag1&&flag2&&flag3&&flag4&&flag5&&flag6;
        }
        //清空span校驗信息
        function clearSpan(){
            document.getElementById("usernamespan").innerHTML="";
            document.getElementById("pwdspan").innerHTML="";
            document.getElementById("pwd2span").innerHTML="";
            document.getElementById("utypespan").innerHTML="";
            document.getElementById("cityspan").innerHTML="";
        }
        //通過元素ID進行元素非空判斷
        function checkNotNull(nodeid){
            //獲取表單元素
            var nodex = document.getElementById(nodeid);
            //獲取span元素
            var spann = document.getElementById(nodeid+"span");
            if(reg.test(nodex.value)){
                spann.innerHTML="不能為空";
                return false;
            }else{
                return true;
            }
        }
        
        //用戶類型  radio   checked=true
        function checkIschoice(nodename){
            //獲取表單元素
            var nodex = document.getElementsByName(nodename);
            //獲取span元素(顯示校驗信息)
            var spann = document.getElementById(nodename+"span");
            
            //遍曆數組
            for(var i=0;i<nodex.length;i++){
                if(nodex[i].checked){
                    return true;
                }
            }
            spann.innerHTML="不能為空";
            return false;
        }
        
        //所在城市校驗     option value
        function checkIsSelected(nodeid){
            //獲取select表單元素
            var nodex = document.getElementById(nodeid);
            //獲取span元素
            var spann = document.getElementById(nodeid+"span");
            
            //獲取select option子元素
            var options=nodex.options;
            //獲取value
            var val=options[nodex.selectedIndex].value;
            
            //判斷
            if(reg.test(val)){
                spann.innerHTML="不能為空";
                return false;
            }else{
                return true;
            }
        }
        var cities = new Array(4);
        cities[0] = new Array("昌平","丰台","大興","海澱","順義","延慶");
        cities[1] = new Array("長春市","吉林市","松原市","延邊市");
        cities[2] = new Array("濟南市","青島市","煙臺市","濰坊市","淄博市");
        cities[3] = new Array("石家莊市","唐山市","邯鄲市","廊坊市");
        cities[4] = new Array("南京市","蘇州市","揚州市","無錫市");
        
        //通過選擇的省,顯示對應的所有的市
        function selectCity(index){
            //通過索引獲得對應的所有的市
            var allCity = cities[index];
            // 獲得city select 對象
            var cityObj = document.getElementById("city");
            cityObj.innerHTML = "<option value=''>----請-選-擇-市----</option>";
            //遍歷所有的市
            for(var i = 0 ; i < allCity.length ; i ++){
                // 獲得具體的市
                var cityName = allCity[i];
                // 創建option
                var option = document.createElement("option");
                // 創建文本節點
                var textNode = document.createTextNode(cityName);
                //將文本添加到option中
                option.appendChild(textNode);
                // 將option追加到select中
                cityObj.appendChild(option);
            }
        }
        
        //校驗密碼和確認密碼是否一致
        function checkpwd(a,b){
            var pwd = document.getElementById("pwd");
            var pwd2 = document.getElementById("pwd2");
            //獲取span(顯示校驗信息)
            var pwd2span = document.getElementById("pwd2span");
            if(a&&b&&pwd.value!=pwd2.value){
                //不一致
                pwd2span.innerHTML="密碼和確認密碼不一致";
                return false;
            }else{
                return true;
            }
        }
    </script>-->

    <script type="text/javascript" src="js/jquery-1.11.0.min.js"></script>
    </head>

    <body>
        <form action="#" method="get" id="f1" onsubmit="return run()">
            <table>
                <tr>
                    <td>用戶名</td>
                    <td><input type="text" name="username" id="username" />
                        <span id="usernamespan" class="errorspan"></span></td>
                </tr>
                <tr>
                    <td>密碼</td>
                    <td><input type="password" name="pwd" id="pwd" />
                        <span id="pwdspan" class="errorspan"></span></td>
                </tr>
                <tr>
                    <td>確認密碼</td>
                    <td><input type="password" name="pwd2" id="pwd2" />
                        <span id="pwd2span" class="errorspan"></span></td>
                </tr>
                <tr>
                    <td>用戶類型</td>
                    <td><input type="radio" name="utype" value="vip" />vip<br/>
                        <input type="radio" name="utype" value="normal" />一般用戶<br/>
                        <span id="utypespan" class="errorspan"></span>
                    </td>
                </tr>
                <tr>
                    <td>所在地區</td>
                    <td>
                        <select id="provinceId" onchange="selectCity(this.value)" style="width:150px">
                            <option value="">----請-選-擇-省----</option>
                            <option value="0">北京</option>
                            <option value="1">吉林省</option>
                            <option value="2">山東省</option>
                            <option value="3">河北省</option>
                            <option value="4">江蘇省</option>
                        </select>
                        <select id="city" style="width:150px">
                            <option value="">----請-選-擇-市----</option>
                        </select>
                        <span id="cityspan" class="errorspan"></span>
                    </td>
                </tr>
                <tr>
                    <td></td>
                    <td><input type="submit" value="註冊提交" />
                        <input type="reset" value="重置" /></td>
                </tr>
            </table>
        </form>
    </body>
    <script type="text/javascript">
        function run() {
            var flag1 = isnull("username");
            var flag2 = isnull("pwd");
            var flag3 = isnull("pwd2");
            var flag4 = ischoice("utype");
            var flag5 = isselect("city");
            var flag6= pwdconfirm(flag2,flag3)

            return flag1 && flag2 && flag3&& flag4 && flag5&& flag6;
        }

        function isnull(id) {
            if(!$("#" + id).val()) {
                $("#" + id + "span").html("<b>不能為空</b>");
                return false;
            } else {
                return true;
            }
        }

        function ischoice(id) {
            var choice = $("input[name=" + id + "]");
            for(var x = 0; x < choice.length; x++) {
                if(choice[x].checked) {
                    return true;
                }
            }
            $("#" + id + "span").html("<b>用戶類型沒有選擇</b>");
            return false;
        }

//        var regex=/^\s*$/;
        function isselect(id) {
            var select = $("#" + id);
//            alert(regex.test(select.val()));
            if(select.val()=="") {
                $("#" + id + "span").html("<b>所在城市沒有選擇</b>");
                return false;
            }
            return true;
        }

        var cities = [
            ["昌平", "丰台", "大興", "海澱", "順義", "延慶"],
            ["長春市", "吉林市", "松原市", "延邊市"],
            ["濟南市", "青島市", "煙臺市", "濰坊市", "淄博市"],
            ["石家莊市", "唐山市", "邯鄲市", "廊坊市"],
            ["南京市", "蘇州市", "揚州市", "無錫市"]
        ];

        function selectCity(index) {
            $("#city").html("<option>----請-選-擇-省----</option>");
            for(var x = 0; x < cities[index].length; x++) {
                $("#city").html($("#city").html() + "<option value='"+x+"'>----" + cities[index][x] + "----</option>");
            }
        }
        
        function pwdconfirm(a,b){
            if(a&&b&&$("#pwd").val()==$("#pwd2").val()){
                return true;
            }else{
                $("#pwd2span").html("<b>兩次密碼不一致</b>");
                return false;
            }
        }
        
    </script>


</html>

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 我新建了一個web前端的新手交流群,包括基礎知識和剛入職的技術分享,人還不多,期待著每一個人的加入,希望可以得到你的認同哦~你的加入是我組織交流群的一大動力哦!~ 歡迎大佬進駐,有很多萌新等待大佬的幫助哦! web前端交流QQ群:314439765 ...
  • 線程在它的生命周期中會處於各種不同的狀態:新建、等待、就緒、運行、阻塞、死亡。1、新建用new語句創建的線程對象處於新建狀態,此時它和其他java對象一樣,僅被分配了記憶體。2、等待當線程在new之後,並且在調用start方法前,線程處於等待狀態。 3、就緒當一個線程對象創建後,其他線程調用它的sta ...
  • 還是看代碼能讓我靜下心來。我現在語言表達能力嚴重下降,又不自信。fuck,不想了,我還是我,世上獨一無二的我。走自己的路,讓別人看吧。馬上4月了,天也變熱了! 閑話少扯,今天說單例模式,就算22種模式都不知道,也應該知道單例模式,這個在實際項目中用的比較多。 一個應用是一個進程,在記憶體中分配一定的空 ...
  • 橋接模式屬於先天模式,這裡的先天模式就是說一開始就要把結構搭建好,方便後來的擴展,而不是對已經出現的模塊和介面進行改進擴展的。橋接的核心在於實體類和操作類之間的聚合關係,這個聚合關係就是我們所說的"橋",不同於裝飾、代理和適配器模式的中的聚合關係,橋接不存在兩者之間的繼承關係,操作類是完全解耦的,而 ...
  • Spring Cloud 是一個基於 Spring Boot 實現的雲應用開發工具,它為基於 JVM 的雲應用開發中涉及的配置管理、服務發現、斷路器、智能路由、微代理、控制匯流排、全局鎖、決策競選、分散式會話和集群狀態管理等操作提供了一種簡單的開發方式。通過 Spring Boot 風格進行再封裝屏蔽 ...
  • 註意:借鑒原文章:http://www.cnblogs.com/roy-blog/p/7196054.html 感興趣的可以加一下481845043 java交流群,共同進步。 1 session的概念 在網路應用中我們會稱為“會話控制”,在開發中我們常稱其為session對象,用來存儲特定用戶會話 ...
  • 1、將File、FileInputStream 轉換為byte數組: File file = new File("test.txt"); InputStream input = new FileInputStream(file); byte[] byt = new byte[input.availa ...
  • hi-nginx通過redis管理會話。 要開啟管理,需要做三件事。 第一件開啟userid: 這個功能是nginx內建的,可以直接使用。需要註意的是,hi-nginx只認識SESSIONID的userid_name。 第二件是配置redis伺服器: 當然,你應該先安裝redis並確保它運行。 第三 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...