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

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

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

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

JavaScript

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

jQuery

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

HTML

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

Q&A

解決済

1回答

3635閲覧

HTMLで作成した表の行追加機能(ボタン押下のタイミング)

hide09090909

総合スコア68

Java

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

JavaScript

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

jQuery

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

HTML

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

0グッド

0クリップ

投稿2017/04/09 12:44

編集2017/04/11 08:03

HTMLで作成したWEB画面に表を2つ作成し、片方の表で選択(ラジオボタンで選択)した行を表の近くに配置したbutton押下のタイミングで、もう片方の表に追加を行う機能を実装したいのですが、実装方法が不明で困っております。
下記に2つの表の細かい機能を示しますので、どれか一つの機能で良いので、わかる方を教えていただけると嬉しいです。

・表1
・複数の行を表示。(ここはわかります。)
・表2に追加された行がない場合は、表1で行を選択し、button押下のタイミングで表2の1行目に追加
・表2に1行追加されている場合は、表1で行を選択し、button押下のタイミングで 表2の2行目に追加
・表2に2行追加されている場合は、表1でbutton押下した際に、注意のダイアログを表示

<table class="sample" style="margin-top: 50px" id="test2"> <thead> <tr> <th></th> <th>ファイル名</th> <th>時間</th> </thead> <tbody id="select"> <tr> <td><input type="radio" name="check" value="check"></td> <td>sample1</td> <td>00:00:00</td> </tr> <tr> <td><input type="radio" name="check" value="check"></td> <td>sample2</td> <td>00:00:00</td> </tr> </tbody> </table> <button type="submit" id="aaa" name="bbb" class="cc" style="color: #ffffff; background-color: #40b740; margin-top: 20px;">追加</button>

・表2
・表2に追加された行が1行以上存在する場合、チェックボックス選択後、button押下で表から削除。

<div class="table-responsive cncList"> <table class="sample" id="test"> <thead> <tr> <th></th> <th>ファイル名</th> <th>時間</th> </thead> <tbody id="result"> <tr> <td><input type="checkbox" name="checkbox" value="1"></td> <td></td> <td></td> </tr> <tr> <td><input type="checkbox" name="checkbox" value="2"></td> <td></td> <td></td> </tr> </tbody> </table> <button type="submit" id="aaa" name="bbb" class="cc" style="color: #ffffff; background-color: #40b740; margin-top: 20px;">削除</button>

以上です。よろしくお願いいたします。
イメージを画像で添付いたします

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

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

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

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

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

kei344

2017/04/10 01:39

ご自身で書かれたコードを質問文に追記し、「何」が「どのように」わからないのか、コードのどの部分で詰まっているのかなどを具体的に追記されたほうが回答が望めると思います。
hide09090909

2017/04/11 07:18

ご指摘ありがとうございます。コードを追加いたしました。
kei344

2017/04/11 07:54

「button」が無いですが、tr各行に有るのでしょうか。また、同じ行について「ボタン」が押された場合2行追加するのでしょうか。もう少し具体的にフローを書かれたほうが良いと思います。
hide09090909

2017/04/11 08:04

>>同じ行について「ボタン」が押された場合2行追加するのでしょうか。 これは同じ行を複数回追加することは可能かどうかという質問でしょうか?  もしそうであれば答えは可能です。
guest

回答1

0

ベストアンサー

雛形が見当たらなかったので、文章からの想像で作ってみました。

HTML

1<!DOCTYPE html> 2<!-- HTMLで作成したWEB画面に表を2つ作成し、片方の表で選択(ラジオボタンで選択)した行を表の近くに配置したbutton押下のタイミングで、もう片方の表に追加を行う機能を実装したいのですが、実装方法が不明で困っております。 3下記に2つの表の細かい機能を示しますので、どれか一つの機能で良いので、わかる方を教えていただけると嬉しいです。 4 5・表1 6・複数の行を表示。(ここはわかります。) 7・表2に追加された行がない場合は、表1で行を選択し、button押下のタイミングで表2の1行目に追加 8・表2に1行追加されている場合は、表1で行を選択し、button押下のタイミングで 表2の2行目に追加 9・表2に2行追加されている場合は、表1でbutton押下した際に、注意のダイアログを表示 10 11・表2 12・表2に追加された行が1行以上存在する場合、チェックボックス選択後、button押下で表から削除。 --> 13<html lang="ja"> 14 <head> 15 <meta charset="utf-8"> 16 <title>addlist</title> 17 <style media="screen"> 18 ul { 19 list-style-type: none; 20 } 21 div.wrapper { 22 position: relative; 23 overflow:hidden; 24 } 25 div.list1{ 26 display: inline-block; 27 float: left; 28 } 29 div.list2{ 30 display: inline-block; 31 } 32 div.btn { 33 text-align: center; 34 } 35 </style> 36 <script src="https://code.jquery.com/jquery-3.2.1.js"></script> 37 </head> 38 <body> 39 <div class="wrapper"> 40 <div class="list1"> 41 <h3>表1</h3> 42 <ul id="select"> 43 <li><label><input type="radio" name="list1" value="hoge" checked>どれか</label></li> 44 <li><label><input type="radio" name="list1" value="hoge">選ぶと</label></li> 45 <li><label><input type="radio" name="list1" value="hoge">追加される</label></li> 46 </ul> 47 <div class="btn"> 48 <input type="button" value="add"> 49 </div> 50 </div> 51 <div class="list2"> 52 <h3>表2</h3> 53 <ul id="result"> 54 </ul> 55 </div> 56 </div> 57 <script type="text/javascript"> 58 $(function(){ 59 $(".list1 input[type='button']").on("click", function(){ 60 var add_text = $("#select").find("input:checked").parent().text(); 61 if($("#result").children().length < 3){ 62 $("#result").append($("<li>").text(add_text)); 63 } else { 64 alert("むりだよ!") 65 } 66 }) 67 }) 68 </script> 69 </body> 70</html> 71

追記:
質問文を読み直したところ、足りない機能があったので追加しました。

html

1<!DOCTYPE html> 2<html lang="ja"> 3 <head> 4 <meta charset="utf-8"> 5 <title>addlist</title> 6 <style media="screen"> 7 ul { 8 list-style-type: none; 9 } 10 div.wrapper { 11 position: relative; 12 overflow:hidden; 13 } 14 div.list1{ 15 display: inline-block; 16 float: left; 17 } 18 div.list2{ 19 display: inline-block; 20 } 21 div.btn { 22 text-align: center; 23 } 24 </style> 25 <script src="https://code.jquery.com/jquery-3.2.1.js"></script> 26 </head> 27 <body> 28 <div class="wrapper"> 29 <div class="list1"> 30 <h3>表1</h3> 31 <ul id="select"> 32 <li><label><input type="radio" name="list1" value="hoge" checked>どれか</label></li> 33 <li><label><input type="radio" name="list1" value="hoge">選ぶと</label></li> 34 <li><label><input type="radio" name="list1" value="hoge">追加される</label></li> 35 </ul> 36 <div class="btn"> 37 <input type="button" value="add"> 38 </div> 39 </div> 40 <div class="list2"> 41 <h3>表2</h3> 42 <ul id="result"> 43 </ul> 44 <div class="btn"> 45 <input type="button" value="remove"> 46 </div> 47 </div> 48 </div> 49 <script type="text/javascript"> 50 $(function(){ 51 $(".list1 input[type='button']").on("click", function(){ 52 var add_text = $("#select").find("input:checked").parent().text(); 53 if($("#result").children().length < 2){ 54 var listitem = "<li><label><input type='radio' name='list2'>"+add_text+"</label></li>" 55 $("#result").append(listitem); 56 } else { 57 alert("むりだよ!") 58 } 59 }) 60 61 $(".list2 input[type='button']").on("click", function(){ 62 $("#result").find("input:checked").closest("li").remove(); 63 }) 64 }) 65 </script> 66 </body> 67</html> 68

投稿2017/04/09 13:41

編集2017/04/09 14:04
larkpia

総合スコア138

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

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

hide09090909

2017/04/11 07:19

ご回答ありがとうございます。 完全に私の言葉足らずでしたが、ラジオボタンは追加を行わず2列目からの情報を追加したいです。 申し訳ありません。 もし、わかるようでしたら、教えていただけると幸いです。
larkpia

2017/04/11 12:48

欲しい情報のところにidかclassを付けて選別して、textを抜き出し、それをテーブルに入れてやればいけますよ。 消すときは、チェックの付いた要素をremoveしてやって、新たに新しい要素を追加してやればいいと思います。 コメント欄で読みづらいですが、javascriptのコードだけ載せときます。参考にどうぞ。<td>にclass=filename と class=time を追加しています。 <script type="text/javascript"> $(function(){ var LIST_NUM=2; $("#add").on("click", function(){ var filename = $("#select").find("input:checked").parent().siblings(".filename").text(); var time = $("#select").find("input:checked").parent().siblings(".time").text(); var $tr = $("#result tr") $tr.each(function(i){ var $elem = $(this); if($elem.find(".filename").text()===""){ $elem.find(".filename").text(filename); $elem.find(".time").text(time); return false; } if(i===LIST_NUM-1){ alert("もうむり!"); } }) }) $("#remove").on("click", function(){ var add_elem='<tr><td><input type="checkbox" name="checkbox" value="2"></td>'+ '<td class="filename"></td><td class="time"></td></tr>' $("#result").find("input:checked").closest("tr").remove(); while($("#result").children().length!==LIST_NUM){ $("#result").append(add_elem); } }) }) </script>
hide09090909

2017/04/12 06:53

ご回答ありがとうございました。 勉強不足のため、理解しきれていないため、似たような質問を上げるかもしれませんが、よろしくお願い致します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問