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

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

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

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

JavaScript

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

jQuery

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

HTML

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

Q&A

2回答

3152閲覧

動的に追加した要素の削除について

hide09090909

総合スコア68

JSP

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

JavaScript

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

jQuery

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

HTML

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

0グッド

0クリップ

投稿2017/05/10 01:08

編集2017/05/10 01:31

ラジオをボタンで選択した行を別の表に追加し、追加した行をチェックボックスで選択し指定すると、指定した行のみ削除を行えるjspファイルを作成したいです。

以下のサンプルコードをHTMLファイルで実行した際は、目的の通りに、動くのですが、jspファイルに変更して、実行すると指定した行のみでなく、追加した全ての行が削除されてしまいます。

<html> <head> <meta charset="utf-8"> <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script> <script> $(function(){ $('#add').on("click", function() { var tr = '<tr><td><input type="checkbox" name="checkbox" value="' + "val" + '"></td><td>' + "val" + '</td><td>' + "resuto21" + '</td><td>' + "tesuto3" + '</td><td>' + "tesuto4" + '</td><td>' + "tesuto5" + '</td><td>' + "val" + '</td></tr>'; $('#sample_table').append(tr); }); $('#del').on("click", function() { $('#sample_table input[type=checkbox]:checked').each(function() { $(this).closest('tr').remove(); }); }); }); </script> </head> <body> <table id="sample_table" class="demo"> <tr><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th><th>7</th></tr> </table> <button type="button" id="add" name="sampleadd" class="btn margin-bottom" style="color: #ffffff; background-color: #40b740;">追加</button> <button type="button" id="del" name="sampledel" class="btn margin-bottom" style="color: #ffffff; background-color: #40b740;">削除</button> </body> </html>

jspファイルをChromeで実行した際のソースは以下の通りです。

<html> <head> <meta charset="utf-8"> <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script> <script> $(function(){ $('#add').on("click", function() { var tr = '<tr><td><input type="checkbox" name="checkbox" value="' + "val" + '"></td><td>' + "val" + '</td><td>' + "resuto21" + '</td><td>' + "tesuto3" + '</td><td>' + "tesuto4" + '</td><td>' + "tesuto5" + '</td><td>' + "val" + '</td></tr>'; $('#sample_table').append(tr); }); $('#del').on("click", function() { $('#sample_table input[type=checkbox]:checked').each(function() { $(this).closest('tr').remove(); }); }); }); </script> </head> <body> <table id="sample_table" class="demo"> <tr><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th><th>7</th></tr> </table> <button type="button" id="add" name="sampleadd" class="btn margin-bottom" style="color: #ffffff; background-color: #40b740;">追加</button> <button type="button" id="del" name="sampledel" class="btn margin-bottom" style="color: #ffffff; background-color: #40b740;">削除</button> </body> </html>

何が原因で、動作が異なるのか理解できず、修正が行えません。
どなたか、分かる方、問題点/修正方法を教えてください。
よろしくお願い致します。

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

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

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

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

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

Zuishin

2017/05/10 01:21

JSP で出力した結果のソースはどうなっていますか?
hide09090909

2017/05/10 01:32

JSP で出力した結果のソースは質問文に追加しました。
guest

回答2

0

chromeでも動いているようですが、html版とjsp版はどこが違うのでしょうか?x

投稿2017/05/10 02:06

yambejp

総合スコア114843

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

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

0

JSP は関係なさそうですね。ボタンを押すことによってリロードされていませんか?
あらかじめ行を一つ増やしておいて、それが削除されるかどうか確かめてみてください。もしそれが残るようであれば、リロードされている疑いがあります。

投稿2017/05/10 02:05

Zuishin

総合スコア28660

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

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

hide09090909

2017/05/10 02:27

ご指摘のことを実行すると、あらかじめ、追加しておいた行は削除されませんでした。 どのように修正すればよいでしょうか?
Zuishin

2017/05/10 02:31

このソースからはわかりません。何か他にスクリプトをロードしているのではないでしょうか? Chrome であれば問題のページを表示し、F12 を押してデベロッパーツールを起動し、Event Listeners を確かめてみてください。
hide09090909

2017/05/10 03:38

ありがとうございます。 jQueryで実装しているため、参考に致します。
hide09090909

2017/05/16 02:19

removeの指定が良くないようです。 remove関数は変数を指定できないのでしょうか? 下記のように要素を指定すると削除できますが、消したくない部分もあるので困っています。 $('tr').remove();
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問