IT関連

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

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

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

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

 

例えば、

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

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

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

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

 

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

 

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

 

親の参考コードは

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

 

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

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

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

 

最後にJavaScriptは

 

これでいけた。

スポンサーリンク




スポンサーリンク




-IT関連
-, ,

執筆者:


comment

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

関連記事

AS400/IBMi ACS RunSQLScriptsで日本語が表示されない

ACSは相変わらず使っていないけど、RunSqlScriptsは使っています。 iナビゲーターのときもSQLは使っていたけど、やっぱりSQLは便利ですね。 SQLがあれば何でもできますが、UPDATE …

【ExcelVBA】シフト文字を含めてバイト数をカウントする

これは私の備忘録です。   エクセルに入力したデータをAS400にアップロードする仕組みを作ったのですが、AS400はシフト文字の関係上、文字数の計算がややこしいです。   例えば …

AS400/IBMi 画面背景色と文字色の変更とプログラミングフォントの採用

もう平成も終わろうとしているのに、いまだにグリーン画面とはおつかれさまだな。   Web開発ではAtomを使っているが、Atomならデフォルトで背景色は闇夜のように暗い黒ではなく、いい感じの …

AS400/IBMi RPG COMP命令

社内プログラムでCOMPを多用しているのがあったので、どういう動きをするのか調べてみた。   試しに

を実行してみた。 フラ …

AS400/IBMi からデータを取得 ExcelVBA クラス化編

注意 これは私の環境下における私の備忘録です。お使いの環境によっては内容が異なる場合があります。システム管理者でない方は絶対にやらないでください。システムにはログが残るものなので、万が一があればクビに …

Adsense広告




文字で検索

人気記事

なぜだか人気記事

読んでほしい順に