jsは、州、市、地区の3レベルのリンクの非選択ドロップダウンボックスバージョンを実現します。

jsは、州、市、地区の3レベルのリンクの非選択ドロップダウンボックスバージョンを実現します。

インターネットで3レベルリンクを検索したところ、すべてオプションで書かれていました。突然、別の方法で書いてみようというアイデアが浮かびました。効果は悪くないと思います。興味があれば、見てみてください。さっそく効果を見てみましょう。

コードは以下のとおりです。少し乱雑ですが、見たい方は見てみてください。

1.htmlコード

<div class="box">
        <section class="province">州</section>
        <section class="city">都市</section>
        <section class="area">エリア</section>
 
        <div class="si">
        </div>
</div>

2.cssコード

<スタイル>
        。箱{
            幅: 800ピクセル;
            高さ: 50px;
            マージン: 20px 自動;
            背景色: rgb(48, 49, 48);
            境界線の半径: 10px;
            ディスプレイ: フレックス;
            コンテンツの中央揃え: 中央;
            アイテムの位置を中央揃えにします。
        }
        .box セクション{
            表示: インラインブロック;
            背景色: rgb(168, 165, 165);
            フレックス成長: 1;
            高さ: 30px;
            右マージン: 10px;
            左マージン: 10px;
            境界線の半径: 5px;
            行の高さ: 30px;
            左パディング: 10px;
        }
        .boxセクション:hover{
            カーソル: ポインタ;
        }
        .si{
            表示: なし;
        }
        .box .all{
            表示: ブロック;
            幅: 740ピクセル;
            背景色: rgb(211, 203, 203);
            パディング: 20px;
            位置: 絶対;
            境界線の半径: 10px;
            上: 57px;
        }
        .box .all:hover{
            カーソル: ポインタ;
        }
        .box .all span{
            表示: インラインブロック;
            幅: 130ピクセル;
            高さ: 30px;
            フォントサイズ: 13px;
            左パディング: 10px;
            行の高さ: 30px;
            境界線の半径: 5px;
            左マージン: 10px;
            境界線: 1px実線 #000;
            背景色: 白;
            ボックスのサイズ: 境界線ボックス;
            上マージン: 10px;
        }
</スタイル>

3.jsコード

<スクリプト>
        // コンテンツを取得 var data = city_code // これは私のデータです // 州、都市、地区を取得 var Province = document.querySelector(".province")
        var city = document.querySelector(".city")
        var area = document.querySelector(".area")
 
        // 隠しdivを取得する
        var si = document.querySelector(".si")
        
        州.addEventListener("マウスオーバー",関数(){
            si.classList.add("すべて")
            // 州を選択 var html = ""
            var all = document.querySelector(".all")
            for(var i = 0;i<data.length;i++){
                const 州名 = データ[i].名前
                const 州ID = データ[i].コード
                html += `<span id="${provinceID}">${provinceName}</span>`
            }
            すべて.innerHTML=html
 
            var spanAll = document.querySelectorAll("span")
            (var j =0;j<spanAll.length;j++){
                spanAll[j].addEventListener("クリック",function(){
                    州.innerHTML=this.innerText
                    州ID=このID
 
                    html = ""
 
                    // 都市を選択 for(var k = 0;k<data.length;k++){
                if (data[k].code===province.id) {
                    var citys = データ[k].city
                    for(var i = 0;i<citys.length;i++){
                    html +=`<span id="${citys[i].code}">${citys[i].name}</span>`
                    }
                    すべて.innerHTML=html
                    var spanAll = document.querySelectorAll("span")
                    (var j =0;j<spanAll.length;j++){
                        spanAll[j].addEventListener("クリック",function(){
                        city.innerHTML=this.innerText
                        都市ID=このID
 
                        html = ""
 
                        //エリアを選択 for(var k = 0; k<citys.length; k++){
                (citys[k].code===city.id)の場合{
                    var エリア = 都市[k].エリア
                    for(var i = 0;i<areas.length;i++){
                    html +=`<span id="${areas[i].code}">${areas[i].name}</span>`
                    }
                    すべて.innerHTML=html
                    var spanAll = document.querySelectorAll("span")
                    (var j =0;j<spanAll.length;j++){
                        spanAll[j].addEventListener("クリック",function(){
                        area.innerHTML = this.innerText
                        エリアID=このID
                        si.classList.remove("すべて")                 
                        })               
                    }
                    壊す
                }
            }
 
                        })                
                    }
                    壊す
                }
            }    
 
 
                         
                })                
            }
            
 
        })
 
</スクリプト>

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • PHP+Mysql+Ajax+JSで州、市、地区間の連携を実現
  • JavaScript は、州、市、地区の 3 段階のリンク ドロップダウン ボックス メニューを実現します。
  • 州、市、地区の 3 レベル リンク ドロップダウン ボックス メニューの JavaScript バージョン
  • jsは、省、市、地区の3レベルのリンク選択ボックスコード共有を実現します
  • QQウェブサイトから抽出した純粋なJS省、市、地区の3レベルリンクメニュー
  • JSON+Jquery 州、市、地区の 3 レベルのリンク
  • ネイティブjsは省、市、地区の3レベルのリンクコード共有を実現します
  • Vue.jsは京東の省、市、地区の3階層リンクの選択コンポーネントサンプルコードを模倣します
  • JavaScript は、州、市、地区間のシンプルな 3 レベルのリンクを実現します。
  • JavaScript の州、市、地区の 3 レベル リンク ドロップダウン メニューの例のデモ

<<:  MySQL インデックスが失敗するいくつかの状況の概要

>>:  Tomcat を設定して IntelliJ IDEA 2018 で最初の Java Web プロジェクトを実行する方法

推薦する

MySql ファジークエリ JSON キーワード取得ソリューションの例

目次序文オプション1:オプション2:オプション3:オプション4(最終的に採用されたオプション):要約...

Centos7.4 サーバーへの Apache のインストールとインストール プロセス中に発生した問題の解決策

この記事では、CentOS 7.4 サーバーに Apache をインストールする方法と、インストール...

Vueはシンプルな計算機能を実装します

この記事では、参考までに、簡単な計算機機能を実現するためのVueの具体的なコードを紹介します。具体的...

Vueはデータを初期状態にリセットします

場合によっては、データ内のデータを再利用する必要がありますが、データ内のデータはさまざまなフォーム、...

MySQL はどのようにしてデータベースの削除と暴走を効果的に防ぐことができますか?

目次セーフモード設定テスト1. where句なしで更新および削除する2. 非インデックスキーの削除3...

Springboot プロジェクトに動的にパラメータを渡すための Docker の実装方法

背景最近、Docker 初心者の友人から、毎回プロジェクト構成ファイルにハードコーディングしてサービ...

MySQL 同期遅延が発生したときに Seconds_Behind_Master が 0 のままになる理由

目次問題の説明原理分析問題分析拡大する総括する問題の説明ユーザーはプライマリ データベースに対して変...

jQuery はラブエフェクトをクリックする

この記事では、jQueryのクリック時のラブエフェクトの具体的なコードを参考までに共有します。具体的...

Windows サーバー ファイルをローカルにバックアップする方法、Windows サーバー データ バックアップ ソリューション

重要なデータはバックアップする必要があり、リアルタイムでバックアップする必要があります。そうしないと...

HTML はモバイル上で固定フローティング半透明検索ボックスを実装します

質問。モバイルショッピングモールシステムでは、ページの上部に検索ボックスがよく見られます。ブロガーは...

Vue でコンポーネントを一括インポート、登録、使用する方法

序文コンポーネントは、非常に頻繁に使用されるものです。多くの人は、コンポーネントを 1 つのファイル...

JSはスネークゲームを実装する

目次1. 初期化構造2. 蛇の色のレンダリング3. ヘビの動き4. ヘビの死を判定する方法 ヘビの死...

mysql5.7.22 ダウンロードプロセス図

1. 公式ウェブサイト www.mysql.com にアクセスし、ダウンロードを選択します。 2. ...

Linux Dig コマンドの使用法

発掘紹介: Dig は、Unix ライクなコマンドライン モードで NS レコード、A レコード、M...

WeChatミニプログラムはどのようにしてユーザー情報とユーザーの電話番号を同時に取得するのか

今日ログインページを書いていたとき、個人情報と携帯電話番号を認証する必要がありましたが、ページにボタ...