質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

1回答

2143閲覧

チェックボックスを利用して、特定の行を表示/非表示にするやり方

qzkb4g1010

総合スコア21

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2017/08/03 03:56

以下のひらがな5つと数字5つを対応させたテーブルに、チェックボタンを用いて、チェックが入っているに該当する行のみを表示し、チェックがついていないものは非表示という操作をしたいです。

【例.か/3/5 の3つのボックスにチェックが入っていれば、上から2,3,5行目が表示され、2,4行目はhideされる】

HTML

1<div id="select"> 2<label><input id="agyou" class="agyou" type="checkbox" value="agyou" />あ</label> 3<label><input id="kagyou" class="kagyou" type="checkbox" value="kagyou" />か</label> 4<label><input id="sagyou" class="sagyou" type="checkbox" value="sagyou" />さ</label> 5<label><input id="tagyou" class="tagyou" type="checkbox" value="tagyou" />た</label> 6<label><input id="nagyou" class="nagyou" type="checkbox" value="nagyou" />な</label> 7<label><input id="1" class=" 1" type="checkbox" value="1" />1</label> 8<label><input id="2" class="2" type="checkbox" value="2" />2</label> 9<label><input id="3" class="3" type="checkbox" value="3" />3</label> 10<label><input id="4" class="4" type="checkbox" value="4" />4</label> 11<label><input id="5" class="5" type="checkbox" value="5" />5</label> 12</div> 13 14<table id="result"> 15<tbody> 16<thead> 17<tr> 18<th>text</th> 19<th>num</th> 20</tr> 21</thead> 22<tr> 23<td class="agyou">あ</td> 24<td class="1">1</td> 25</tr> 26<tr> 27<td class="kagyou">か</td> 28<td class="2">2</td> 29</tr> 30<tr> 31<td class="sagyou">さ</td> 32<td class="3">3</td> 33</tr> 34<tr> 35<td class="tagyou">た</td> 36<td class="4">4</td> 37</tr> 38<tr> 39<td class="nagyou">な</td> 40<td class="5">5</td> 41</tr> 42</tbody> 43</table>

※上記テーブルはサンプルで作成したものですが、実際には2000行くらいのテーブルで、tdへのclass付与はjqueryでswich文とaddClassでしています。(tdの1列目が「あ」なら、addClass("agyou")のような感じ)テーブルの操作はデータベースからシステムで生成したいため手作業では行えないと仮定してください。

tdのクラスを見て、チェックボックスと連動させてフィルタリングする方法を、jQueryで教えて頂けるとありがたいです!当方初心者のため、なるべく難しい構文は避けてもらえるとなお助かります。。。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2017/08/03 04:13

https://teratail.com/help/question-tips#questionTips1 まず、やりたいことを小分けにして(つまり仕様です)ひとつひとつ調べてコードに起こしていってください。初心者であるなら初心者マークを利用すべきですが、質問の前に初心者でもできることはあります。
m.ts10806

2017/08/03 04:15

コードを回答するのは簡単ですが(それでも数分でできる量ではおそらくないはず)、そのコードを理解できるかどうか分からないのに提示するのを躊躇う回答者も多いです。つまり丸投げな上に、難しい構文は・・・という条件が多すぎる質問内容に回答は付きにくいでしょう。
yambejp

2017/08/03 04:32

tdのclassをみて調整する場合、非表示になるのはそのtd内のテキストだけという意味でしょうか?普通はtrにclassをつけて行ごと非表示にしませんか?
qzkb4g1010

2017/08/03 04:57

trにクラスをつけて行ごと非表示でだいじょうぶです!
guest

回答1

0

ベストアンサー

JavaScript

1 $(document).on('change', 'form', function(event) { 2 var result = $('#result'); 3 result.find('tbody tr').hide(); 4 5 if ($('#agyou').prop('checked')) { 6 result.find('.agyou').closest('tr').show(); 7 } 8 // 以下略。 9 });

パフォーマンスに問題がある場合、trにデータを持たせ、動的にスタイルルールを変更したほうがいいかもしれません。

投稿2017/08/03 04:33

x_x

総合スコア13749

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

x_x

2017/08/03 04:35

あ、勝手にformがあるものとして書いてます。念のため
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問