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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

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

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

7147閲覧

チェックボックスの全選択、全解除ができません

t.d_prog

総合スコア11

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

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

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2016/09/15 02:49

###前提・実現したいこと
チェックボックスを全選択・全解除できるようにしたいです。

###発生している問題・エラーメッセージ
全選択にできません。

エラーメッセージ

###該当のソースコード

JS

1<script type="text/javascript" > 2 3function AllChecked(target){ 4 var check= target.checked; 5 var len = document.forms["form1"].selchk[].length; 6 for (var i = 0; i < len ; i++){ 7 document.forms["form1"].selchk[i].checked=check; 8 } 9} 10 11</script>

html

1 echo "<tr>"; 2 echo "<td><input type=checkbox name=selchk[] value=".$i." ".$cheched."></td>"; 3 echo "<td>".$i."</td>"; 4 //echo "<td>".$row["formula"]."</td>"; 5 echo "<td><input type=text name=formula value=".$db_formula.">"; 6 echo "<td>".$db_answer."</td>"; 7 echo $db_odd_even; 8 echo "<td>".$db_created."</td>"; 9 echo "<td>".$db_updated."</td>"; 10 echo "</tr>\n";

###試したこと
checkboxのnameを配列にしなければ全選択できました。

###補足情報(言語/FW/ツール等のバージョンなど)
チェックボックスごとに異なる値を得たいです。
phpにhtmlを埋め込んでおりまして、for文でチェックボックスをDBのレコードの数だけ表示しようとしております。

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

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

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

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

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

kei344

2016/09/15 02:52

HTMLは回答者が再現できるように出力されたHTMLのtable部分を提示してください。
guest

回答2

0

ベストアンサー

ひとまず簡単なサンプルを作りました。関数に組み込んでみてください。

html

1<input type="checkbox" name="selchk[]" value="1"> 2<input type="checkbox" name="selchk[]" value="2"> 3<input type="checkbox" name="selchk[]" value="3">

javascript

1var input = document.querySelectorAll('[name="selchk[]"]'); 2var len = input.length; 3 4for(var i = 0; i < len; i++){ 5 input[i].checked = true; 6}

投稿2016/09/15 03:34

編集2016/09/15 04:09
yamato_hikawa

総合スコア2092

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

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

t.d_prog

2016/09/15 04:04

ご回答ありがとうございます。 全選択ができるようになりました。 全解除ができないのですが、ifで条件分岐持たせると可能でしょうか?
yamato_hikawa

2016/09/15 04:10

そうですね。条件分岐させて、その時は処理を input[i].checked = false; にすれば良いと思います。
yambejp

2016/09/15 04:10

forms["form1"].selchk[i]も直していないんじゃないでしょうかね? あくまでもforms["form1"].elements["selchk[]"]を前提に処理してください
yambejp

2016/09/15 04:11

sorry!返答場所を間違えました
t.d_prog

2016/09/15 04:44

ありがとうございます。 解決しそうです。
guest

0

せめて
document.forms["form1"].selchk[]
↓↓↓
document.forms["form1"].elements["selchk[]"]

#追記
それを踏まえた上でこれでどうでしょう?
(target.checkedがなにやりたいのかわからないので修正してあります)

javascript

1function AllChecked(check){ 2 var len = document.forms["form1"].elements["selchk[]"].length; 3 for (var i = 0; i < len ; i++){ 4 document.forms["form1"].elements["selchk[]"][i].checked=check; 5 } 6}

HTML

1<form name="form1"> 2<input type="button" value="on" onclick="AllChecked(true)";> 3<input type="button" value="off" onclick="AllChecked(false)";> 4<input type=checkbox name=selchk[] value="1"><br> 5<input type=checkbox name=selchk[] value="2"><br> 6<input type=checkbox name=selchk[] value="3"><br> 7</form>

追記2

1つのチェックボックスでほかを処理するならこう

javascript

1function AllChecked(target){ 2 var check=target.checked; 3 var len = document.forms["form1"].elements["selchk[]"].length; 4 for (var i = 0; i < len ; i++){ 5 document.forms["form1"].elements["selchk[]"][i].checked=check; 6 } 7}

html

1<form name="form1"> 2<input type=checkbox onchange="AllChecked(this)">ALL<br> 3<input type=checkbox name="selchk[]" value="1">1<br> 4<input type=checkbox name="selchk[]" value="2">2<br> 5<input type=checkbox name="selchk[]" value="3">3<br> 6</form> 7

投稿2016/09/15 02:52

編集2016/09/15 04:45
yambejp

総合スコア114736

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

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

t.d_prog

2016/09/15 03:58

ご回答ありがとうございます。 初歩的な点を見逃しておりました。 ご指摘ありがとうございます。 上記のようにやってみましたのですが上手くいきませんでした。
yambejp

2016/09/15 04:12

forms["form1"].selchk[i]も直していないんじゃないでしょうかね? あくまでもforms["form1"].elements["selchk[]"]を前提に処理してください (別スレに書いちゃいました、失礼しました)
t.d_prog

2016/09/15 04:34

ご返事ありがとうございます。 また、回答の編集していただきましてありがとうございます。 こちらですとon/offの二つのボタンで切り替える方法になります。 1つのチェックボックスの切り替えで全選択/全解除を目標としております。 説明が至りませんでした。申し訳ございません。
yambejp

2016/09/15 04:46

解決したみたいですが、チェックボックスから全変更する方法を追記しておきました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問