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

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

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

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

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

jQuery

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

Q&A

解決済

3回答

1323閲覧

チェックボックスにチェックがされていたらOKマークを出す

wshielDi

総合スコア8

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

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

jQuery

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

0グッド

0クリップ

投稿2020/01/08 01:48

編集2020/01/08 09:14

#実現したいこと
チェックボックスにチェックがされていたら[OK]を出し、チェックが外れたら[OK]を外したい
1つでもチェックされていたら[OK]、チェックは何個しても[OK]を出したいです

#発生している問題
チェックをしたら[OK]は出るが、チェックを外した場合に[OK]が消えません。

#該当のソースコード

jquery

1 $(function(){ 2 $('#output').hide(); 3 $('input[name="form1"]').change(function() { 4 var test = $('input[name="form1"]:checked'); 5 $(test).map(function(){ 6 if(!test.val() === 'on'){ 7 $('#output').hide(); 8 } else { 9 $('#output').show(); 10 }}); 11 }); 12 });

php

1<form name="form" > 2 <input name="form1" type="checkbox" /><label for="Checkbox1">チェック項目1</label><br /> 3 <input name="form1" type="checkbox" /><label for="Checkbox2">チェック項目2</label><br /> 4 <input name="form1" type="checkbox" /><label for="Checkbox3">チェック項目3</label><br /> 5</form> 6<div id="output">[OK]</div>

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

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

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

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

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

yambejp

2020/01/08 03:00

1個でもチェックされたらなのか、全部チェックされたらなのかによりますね
wshielDi

2020/01/08 09:16

1個でもチェックされたら[OK]を出したいです。
guest

回答3

0

チェックしているチェックボックスを対象にしていますね。

JavaScript

1var test = $('input[name="form1"]:checked');

チェックボックスを対象としましょう。

投稿2020/01/08 01:55

Masakin

総合スコア192

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

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

wshielDi

2020/01/08 10:37 編集

var test = $('input[name="form1"]'); $(test).map(function(){ if(test.checked === false){ $('#output').hide(); } else { $('#output').show(); }}); }); にしてみましたが、[OK]は消えませんでした。コードの記載ミス等でしょうか。
guest

0

ベストアンサー

条件が微妙ですがこんな感じでやってみてください

投稿2020/01/08 03:21

yambejp

総合スコア114843

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

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

yambejp

2020/01/08 03:21

<script> $(function(){ $('#output').hide(); $('[name=form1]').on('change',function(){ var flg=$(this).closest('form').has('[name=form1]:checked').length>0; $('#output').toggle(flg); }); }); </script> <form name="form"> <label><input name="form1" type="checkbox">チェック項目1</label><br> <label><input name="form1" type="checkbox">チェック項目2</label><br> <label><input name="form1" type="checkbox">チェック項目3</label><br> </form> <div id="output">[OK]</div>
m.ts10806

2020/01/08 05:12

いっそcodepenとか外部サービス利用されては… コメントで埋もれるのは勿体ない
wshielDi

2020/01/08 11:23

こちらのコードで思い通りの動きになりました。 lengthで要素の数を取得して、toggleを使うんですね! 勉強になりました!ありがとうございます
guest

0

changeの直後で常にhide実行してonのときだけshowするようにしておけば分岐も減りますしコードも見やすくなるのではと。

投稿2020/01/08 01:53

m.ts10806

総合スコア80850

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問