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 プロジェクトを実行する方法

推薦する

LED を使って Linux カーネルを使い始める方法を探る

目次序文LEDトリガー探索を始めるLEDデバイス登録LEDディレクトリ類推によって理解するクラスディ...

MySQL のインデックスの種類と基本的な使用例

目次索引- 総合索引- ユニークなインデックス- 主キーインデックス- 複合インデックス- 全文索引...

Docker nginx + https サブドメイン設定の詳細なチュートリアル

今日はたまたま友人のサーバーの移転を手伝うことになり、サーバーの基本的な設備の設定を行ったのですが、...

CentOS 6.8 に MySQL 8.0.18 をインストールするチュートリアルの簡単な分析 (RPM 方式)

今日は、CentOS 6.8 サーバーに MySQL 8.0.18 をインストールする方法を記録しま...

Vue で棒グラフを使用し、自分で設定を変更する方法

1. HTMLファイルでechartをインポートする <!-- echarts をインポート ...

ウェブページの読み込み速度を上げる6つのヒント

第二に、キーワードのランキングは、Webページの表示速度にも関係しています(参照:キーワードランキン...

VMware Workstation のインストール Linux (Ubuntu) システム

システムをコンピューターにインストールする方法がわからない場合は、Linux を学習したい場合は、仮...

MySQLをインストールして設定し、ルートパスワードを変更する方法

1. インストールapt-get install mysql-server にはアカウントとパスワー...

MySQL監視グループレプリケーションについて簡単に説明します

元のテキスト: https://dev.mysql.com/doc/refman/8.0/en/gr...

CSS 背景と境界タグの例の詳細な説明

1. CSS背景タグ1.背景色を設定するbackground-ground-color プロパティは...

Linux で pip 操作中にタイムアウトが発生する問題を解決する方法

Linuxインスタンスでpipを使用する際のタイムアウト問題を解決する方法pip は最も人気のある ...

CSS3 box-shadow プロパティの詳細な例

CSS3 - 影の追加(ボックスシャドウの使用) CSS3 - div またはテキストに影を追加する...

mysql 5.7.18 winx64 無料インストール設定方法

1. ダウンロード2. 減圧3. パス環境変数を追加し、mysqlが配置されているbinディレクトリ...

削除、切り捨て、ドロップの違いと選択方法

序文先週、同僚が私に尋ねました。「兄さん、MySQL にバグを見つけました。午後にディスクをクリーン...

10分で始めるCSS3アニメーション

導入アニメーションを使用すると、JavaScript や jQuery に依存せずに、純粋な CSS...