
Eclipseでフレームワーク:springを使って開発している初心者です。
画面上に表(テーブル)があり、各行にチェックボックスがありますが、
「全選択」というチェックボックスにチェックを入れると、
各行のチェックボックス全てにチェックが入るようにしたいです。
javascriptで実現しよいとしましたが、document.~ を認識していないようです。
document.write("Hello"); のコメントを外して実行して全選択のチェックボックスをクリックすると"Hello"と表示されるので、AllChecked() を通ってはいます。
しかし、document.~の文を色々試しましたが、動きません。
解決策をご教授いただきたいです。
<!DOCTYPE html>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<html>
<head>
<meta charset="utf-8">
<title>${title}</title>
</head>
<body bgcolor="#FFDAB9">
<h1>${title}</h1>
<p>${message}</p>
<form:form modelAttribute="formKichakuList" name = "kform">
<input type="checkbox" name="AllCheck" onClick="AllChecked();" />全選択<br>
<input type="submit" name="kichaku_update" value="帰着する" ><br>
<input type="button" value="戻る" onClick="javascript:history.back()"><br><br>
<hr>
<c:if test="${datalist != null }" >
<TABLE border="1" id="table01">
<thead>
<tr id = "table01HeadR" bgcolor="#DEB887">
<th>出荷する</th>
<th>出荷コード</th>
<th>登録日時</th>
<th></th>
</tr>
</thead>
<!-- white-space:pre-wrapを指定しても、IEによっては、空白が詰まる場合がある。 -->
<tbody style= "white-space:pre-wrap" id = "table01Body">
<c:forEach var="obj" items="${datalist}">
<%-- <c:forEach var="obj" items="${datalist}" varStatus="status"> --%>
<tr>
<td><form:checkbox path="CheckedSykCode_New" name = "check" value="${obj.出荷コード}" /></td>
<td><c:out value="${obj.出荷コード}"/></td>
<td><c:out value="${obj.登録日時}"/></td>
</tr>
</c:forEach>
</tbody>
</TABLE>
</c:if>
</form:form>
<SCRIPT type="text/javascript">
<!--
function AllChecked(){
// var check = document.form.AllCheck.checked;
// document.write(check);
// for (var i = 0; i < document.form.check.length; i++){
// document.form.check[i].checked = check;
// }
document.form.check.checked = true;
// document.form.check[0].checked = true;
// document.form.elements['check[]'][0].checked = check;
// document.check.elements[0].checked = true;
// document.kform.elements[check[0]].checked = true;
// document.write("Hello");
}
//-->
</SCRIPT>
</body>
</html>
No.1ベストアンサー
- 回答日時:
jQueryとか使わないなら、以下のようなベタな感じでやってください
同じform内で完結しているなら
<input type="checkbox" name="AllCheck" onClick="AllChecked(this);" />全選択<br>
として
function AllChecked(obj){
var check = obj.checked;
var f=obj.form
for(var i=0;i<f.length;i++){
if(f[i].type=="checkbox" && f[i].name=="'check[]"){
f[i].checked=check;
}
}
}
みたいな感じ
ありがとうございました!!
教えていただいたソースそのままでは動かなかったのですが、
if文を
if(f[i].type == "checkbox" && f[i].name == "CheckedSykCode_New"){
に書き換えたら、実現できました!!
チェックボックスの名前が配列ではないということは、たとえば、1つ目だけチェックを入れる時はどうするんだろう?と疑問に思いましたが、とりあえずやりたかったことは全選択なので実現できて良かったです。
本当にありがとうございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【jsp/Java】チェックボックス...
-
EclipseでSpringを使用し、テー...
-
checkboxの選択数制限と排他処...
-
子ウィンドウのデータを親ウイ...
-
チェックボックスとラジオボタ...
-
確認ページからフォームページ...
-
プルダウン 項目が多いので先頭...
-
ハイパーリンクを別ウインドウ...
-
特定<table>内の<td>の色を変える
-
return trueとreturn falseの用...
-
jqueryとscriptでTABLEのセルを...
-
Selectボックスの幅を自動で広...
-
<input>の選択肢をプルダウンメ...
-
Selectの中身をfor文で入れる
-
プルダウンで選択すると、DBの...
-
プルダウン選択を変更すると、...
-
inputのvalueを変数として使うには
-
Jvasvriptのlengthで個数が取得...
-
送信フォームで送信ボタンをお...
-
データベースの値を判断してラ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【jsp/Java】チェックボックス...
-
背景色を変えて未入力チェック...
-
チェックが入っていなかったら...
-
オフになっているチェックボッ...
-
チェックボックスとラジオボタ...
-
チェックボックスを使って条件検索
-
確認ページからフォームページ...
-
jquery複数のcheckboxの値について
-
チェックボックスのON/OFFでVal...
-
テキストフィードを「無効にす...
-
チェックボックスのON/OFFに応...
-
特定のID(またはクラス)で括ら...
-
削除確認のアラートを出したい
-
フォームの制御について
-
チェックボックスとテキストの値
-
checkboxをクリックしてリロー...
-
チェックした数でメッセージを...
-
localStorageでのcheckbox制御
-
チェックボックスの値
-
配列のチェックボックスをjavas...
おすすめ情報