![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e3b2dd4)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_16.png?e3b2dd4)
<ul>
<li><input type="checkbox" name="A" value="">親A
<ul>
<li><input type="checkbox" name="B" value="" class="second">子A
<ul><li><input type="checkbox" name="C" value="" class="second">孫A</li>
</li>
</ul>
</li>
</ul>
<ul>
<li><input type="checkbox" name="A" value="">親B
<ul>
<li><input type="checkbox" name="B" value="" class="second">子B
<ul><li><input type="checkbox" name="C" value="" class="second">孫C</li>
</li>
</ul>
</li>
</ul>
3 階層あり、親、子や孫にチェックを入れた時に、その全てに連動してチェックされる方法は
ありますでしょうか ?
親だけチェックして子や孫もチェックされるのはできるのですが、逆ができません。
ちなみに同じつくりのものが下に続くのですが、A と B は連動せず、
ID NAMEも同じものです。
どうぞ、わかる方お願いいたします。
No.1ベストアンサー
- 回答日時:
構造さえ確定できればできないことはないと思いますが
親をチェックして、子孫にチェックがはいる仕組みなら
孫や子をチェックすると親や子にチェックがはいるとなると
常にすべて同じチェック状態になっちゃいますけどそれって意味あります?
つまり、
親をチェック→子・孫にチェックがはいる
子をチェック→親・孫にチェックがはいる
孫をチェック→親・子にチェックがはいる
つまりどこか一つのチェックで十分では?
No.2
- 回答日時:
なさりたいこととその意味がいまいちわかってないのですが・・・
ドキュメント上で最上位に当たるLI要素まで辿って、その子孫のinput[type='checkbox']に全てチェックをいれるってことと解釈しました。(チェックを外すときは処理対象外)
※ ご提示のHTMLはulの閉じタグの数が合わないので、構造が
はっきりしません。(適当に閉じタグを追加しました)
※ 一番外側のulは一つになると思えるのですが、そうはなって
いないので、包含要素としてdiv要素を追加しています。
最初に書いたようにあまり理解できていないので、ご参考までに・・・
(全角空白は半角に)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head><title>sample</title>
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<script type="text/javascript">
function hoge(evt){
var e = evt.target || evt.srcElement, li;
if(e.nodeName != "INPUT" || e.type != "checkbox" || !e.checked) return;
while(e){
if(e.nodeName == "LI") li = e;
e = e.parentNode;
}
if(!li) return;
var elms = li.querySelectorAll("input[type='checkbox']");
for(var i = 0; e = elms[i++];) e.checked = true;
}
</script>
</head>
<body>
<div onclick="hoge(event)">
<ul>
<li><input type="checkbox" name="A" value="">親A
<ul>
<li><input type="checkbox" name="B" value="" class="second">子A
<ul><li><input type="checkbox" name="C" value="" class="second">孫A</li></ul>
</li>
</ul>
</li>
</ul>
<ul>
<li><input type="checkbox" name="A" value="">親B
<ul>
<li><input type="checkbox" name="B" value="" class="second">子B
<ul><li><input type="checkbox" name="C" value="" class="second">孫C</li></ul>
</li>
</ul>
</li>
</ul>
</div>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- HTML・CSS cssの display: flex;で横並びにならずに困ってます 1 2022/12/04 13:18
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP $_SESSIONについて教えて下さい。 2 2023/03/02 09:18
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javascriptで教えてください。 ...
-
jquery ドロップダウンメニュー...
-
タブ切り替えの初期表示について
-
オブジェクトがありませんのエラー
-
【html5】canvasでの文字の形の...
-
html スクロール要素を下から表...
-
JavaScriptでサイコロのような...
-
Ctrl+F(検索)の窓を出したいの...
-
画像の表示位置
-
Slick.jsのオプションrtlについて
-
重なった画像にクリックイベン...
-
ランダム画像 & マウスオーバー...
-
createElementで作成した要素を...
-
CSSのID名に配列を使えませんか?
-
JavaScriptとチェックボックス...
-
javascriptでURLにマウスオーバー
-
Twitterの埋め込みしたWebペー...
-
2箇所の画像をランダムに複数表示
-
jQueryで特定id以外の下にある...
-
動く(流れる)文字列はどうや...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
jQueryのeqで最後からn番目以降...
-
jqueryのsortableで一部ソート...
-
「jQuery」アコーディオンメニ...
-
クリックした<a>タグのみにClas...
-
ネストされたチェックボックス...
-
タブ切り替えの初期表示について
-
【javascript で動的に a タグ...
-
javascript テキストエリアを1...
-
大量のチェックボックス状態取...
-
javascriptでフォーカスを当て...
-
質問に答えていくと、回答によ...
-
jQueryのhide,showで中の要素が...
-
JS <a></a>タグ内のリンク先ア...
-
gridstack.jsについて教えてく...
-
JQueryタブのアクティブ アン...
-
jquery ドロップダウンメニュー...
-
どの<li><a> が押されたか判別...
-
タブメニューを上下に設置
-
文字と数字が混在する要素のsor...
-
Jquery の slide.toggle で要素...
おすすめ情報