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 8のパスワードを忘れた場合のベストな対処法の簡単な分析

序文MySQL に精通している読者は、MySQL が非常に迅速に更新されることに気付くかもしれません...

Mysql5.7 のグループ連結関数を使用するときにデータが切り捨てられる問題に対する完璧な解決策

一昨日、本番環境でGROUP_CONCAT関数を使用して選択したデータが切り捨てられ、最大長が102...

jsでの位置計算を徹底的に理解するのに役立つ記事

目次導入スクロール要素.スクロール()要素.scrollHeight/scrollWidth要素.s...

Dockerはターミナルで中国語を入力できない問題を解決します

序文:ある日、DockerでMySQLサービスを構築したところ、MySQLのコマンドラインで中国語の...

Divの境界と透明度に関する設定

フレーム:スタイル=”border-style:solid;border-width:5px;bor...

Win10環境にMysql5.7.23をインストールする際の問題点と落とし穴

たくさんのチュートリアルを読みましたが、うまくインストールできませんでした。しばらく試行錯誤した後、...

MySQL 8.0.16 圧縮パッケージのインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0.16圧縮パッケージのインストールと設定方法を参考までに紹介します。...

JavaScript は詳細なコードで星座クエリ機能を実装します

目次1. タイトル2. コード3. 結果IV. 結論1. タイトルテキスト ボックスに誕生日の値を入...

MySQL 8.0 WITH クエリの詳細

目次MySQL 8 の WITH クエリについて学ぶ1. 例3. 練習するMySQL 8 の WIT...

Docker での RocketMQ の詳細なインストールと使用

RocketMQ イメージを検索するには、Docker の hub.docker.com で検索する...

CSS3 はクールな 3D 回転遠近法効果を実現します

CSS3はクールな3D回転パースペクティブを実現します3D アニメーション効果はますます人気が高まっ...

MySQL の NOT IN 充填ピットの NULL 列の問題の解決方法

以前、会社で小さな機能に取り組んでいたとき、特定の状況でデータがいくつあるかを数えてから問題を修正し...

nginx+php-fpm サービスの HTTP ステータス コード 502 の詳細な分析

弊社の Web プロジェクトの 1 つでは、新しい都市の増加によりトラフィックと DB 負荷が増加し...

MySQL データベースの基礎: 基本コマンドの概要

目次1. ヘルプ情報を使用する2. データベースの作成、削除、表示3. データベースに接続する4. ...

インタラクティブな視覚化 JS ライブラリ gojs の使い方の紹介とヒント

目次1. gojsの紹介2. Gojsのアプリケーションシナリオ3. gojs を選ぶ理由: 4. ...