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

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

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

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Struts

StrutsはJava向けのWebアプリケーションフレームです。MVCモデルに基づいており、JSPやJavaサーブレットを組み合わせ、アプリケーション構築時に使用する各機能を提供しています。

jQuery

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

Q&A

解決済

3回答

5678閲覧

チェックボックスを外した際にhiddenから値を除去したい

msd

総合スコア95

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Struts

StrutsはJava向けのWebアプリケーションフレームです。MVCモデルに基づいており、JSPやJavaサーブレットを組み合わせ、アプリケーション構築時に使用する各機能を提供しています。

jQuery

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

0グッド

0クリップ

投稿2016/08/31 00:17

###前提・実現したいこと
Struts、Java、Jspで検索結果の一覧画面を表示する画面を作っています。
一覧画面でチェックボックスにチェックをした対象に対して一括で処理をする処理なのですが、
チェックした対象に加えて行数を渡したいと思いチェックボックスにチェックを加えると、hiddenに追加するという処理を以下のような形でjQueryで作成しました。
チェックした際に追加はできるのですが、チェックを外した場合に除去する方法が分かりません。
チェックした対象の行数も一緒に渡すことができればこのやり方にこだわりがありません。
他の方法を含めていいアイデアがあれば教えてください。

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

jQuery

1 2$(".checkbox input").click(function(){ 3 4 var lineNo = $(".checkbox input").index(this); 5 6 if($(this).prop("checked")){ 7 $('<input>').attr({ 8 type: 'hidden', 9 name: 'lineNo', 10 value: lineNo ★ここで行数を追加している 11 }).appendTo('form'); 12 }else{ 13 // 14 15 } 16});

jsp

1<logic:iterate id="cccDat" name="aaaDto" property="bbbList" indexId="index"> 2 3 <%-- 中略 --> 4 5 <div id="row${index}_set" class="checkbox"> 6 <html:checkbox property="eee" value="${cccDat.ddd}"/> 7 </div> 8</logic:iterate>

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

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

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

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

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

guest

回答3

0

チェック時に動的に<input type="hidden">を生成・削除するより、
予め必要な分だけ組み込んでおいて、チェックされたものと紐付いているものだけ、値を変更する方が簡単そうだなと思いました。

投稿2016/08/31 01:36

yamato_hikawa

総合スコア2092

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

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

0

ベストアンサー

linenoをlineNumber にリネームしています。作成されている関数内で生成したhiddenにid属性をつければセレクタで取得できるでしょう。

javascript

1var lineNumber = $("[type=checkbox]").index(this); 2 3if($(this).prop("checked")){ 4 $('<input>').attr({ 5 type: 'text', 6 id: 'lineNumber' + lineNumber , 7 name: 'lineNumber', 8 value: lineNumber // ここを行番号にする 9 }).appendTo('form'); 10}else{ 11 $('#lineNumber' + lineNumber).remove(); 12}

投稿2016/08/31 01:10

A-pZ

総合スコア12011

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

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

msd

2016/09/02 06:47

実例を挙げていただきありがとうございます。 結局、行ナンバーをcheckboxのpropertyに入れて、javaのほうで制御するようにしました。
guest

0

checkboxのvalueにJSON形式でデータを仕込んでおけば
複数の情報が渡せると思いますが、それではダメでしょうか?

html

1<form method="post"> 2<input type="checkbox" name="c[]" value='{"val":1,"data":"x"}'> 3<input type="checkbox" name="c[]" value='{"val":2,"data":"y"}'> 4<input type="checkbox" name="c[]" value='{"val":3,"data":"z"}'> 5<input type="submit" value="go"> 6</form>

PHP

1$c=filter_input(INPUT_POST,"c",FILTER_DEFAULT,FILTER_REQUIRE_ARRAY)?:array(); 2array_walk($c,function(&$item,$key){$item=json_decode($item);}); 3print_r($c);

投稿2016/09/01 05:52

yambejp

総合スコア114775

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問