IT関連

JavaScript チェックボックスのオンオフ切り替え複数の親子を連動させる

投稿日:2019年7月3日 更新日:

親のチェックボックスをオンにすれば、複数ある子のチェックボックスがオンになり、オフにすればオフになる。

そんなコントロールは調べたらすぐ見つかったが、複数の親がある場合に悩んだので備忘録。

 

例えば、

自動車という親、TOYOTA・HONDA・NISSAN・MAZDAという子

パソコンという親、Apple・Lenovo・SHARPという子

モニタという親、IO-DATA・IIYAMA・LGという子

それぞれが1つの画面上にチェックボックスとして存在する場合。

 

自動車の親にaddEventListenerでクリックイベントを追加してクラスを付けた子のチェックをオンオフするロジックは簡単だけど、それぞれの親すべてに同じ処理を書くのは無意味なのは解る。

 

考えたやり方は、まず親のチェックボックスID属性を付与し、onclickでファンクションを付与する。その引数はID属性の値と同じにする。ファンクション名は今回は適当に、js_check_toggleにする。

 

親の参考コードは

こんな感じ。複数親だから、当然DBからデータを取得してループ文でガンガン吐き出すのだから当然変数Aは変化する。

 

子のinputはクラス名を変数Aにする。

こんな感じ。子は複数あるのでID属性ではなくclass属性にする。

これももちろんDBからデータを取得してループ文でガンガン書き出すという前提です。

 

最後にJavaScriptは

 

これでいけた。

スポンサーリンク




スポンサーリンク




-IT関連
-,

執筆者:


  1. 和美 says:

    めっちゃくちゃ細かいんですが、自動車メーカーの「マツダ」は「MATSUDA」ではなく「MAZDA」です。

    • kouji says:

      和美さま

      ありゃ!確かに。広島に住んでいたのになんたるミステイク。
      修正しました。ご指摘ありがとうございました。

comment

Your email address will not be published. Required fields are marked *

関連記事

Windows 右クリックからの送るに起動したいプログラムを登録する

やり方 ファイル名を指定して実行を開き(Winキー+R)、 shell:sendto と入力してエンターキーを押す。フォルダが開くのでその中にプログラムのショートカットを入れる。   使い道 …

AS400/IBMi シフト文字を含めてバイト数を計算する

AS400いわゆるIBMiには、シフト文字という意味不明な文字がある。 普通「アイウエオ」なら10バイトのはずだが、AS400では、12バイトになる。これは先頭と最後が2バイト文字の場合は、前後にそれ …

Laravel 値をViewテンプレートに渡す

MVCで値が渡っていく流れがよく解らなかったので忘備録。 モデルは含まれません。   コントローラーからViewに渡す アクセス [crayon-6040ca1734afb712642667 …

AS400/IBMi Laravel Ajax通信 エラー419 CSRFトークンの設置 JavaScript

基本私の記事はIBMi/AS400をベースにやっています。ご了承のほど。   LaravalではPOST通信時にCSRFトークンを送らないといけないのはすでに知っている。   なの …

AS400/IBMi ユーザーがバツで消して立ち上がらない件

ユーザーがエミュレーターを×で落としたり、本来閉じておくタイミングで閉じてないなどで異常終了してしまうことが多々あります。   そうなると端末が立ち上がらなくなるので、ユーザーからシステムへ …

Adsense広告




文字で検索

人気記事

なぜだか人気記事

読んでほしい順に