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

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

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

CoffeeScriptはプログラミング言語です。シンタックスシュガーの導入により、JavaScriptのコードに変換された後動作します。JavaScriptに比べ、可読性と簡潔性が向上しています。

JavaScript

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

jQuery

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

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

Q&A

解決済

1回答

4637閲覧

bootstrapのtooltipsを複数表示

kensukesuke

総合スコア19

CoffeeScript

CoffeeScriptはプログラミング言語です。シンタックスシュガーの導入により、JavaScriptのコードに変換された後動作します。JavaScriptに比べ、可読性と簡潔性が向上しています。

JavaScript

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

jQuery

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

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

0グッド

0クリップ

投稿2016/07/14 15:05

編集2016/07/14 16:30

こんにちは!

jQueryを用いてform要素のボタンをクリック時にtooltipを持つdiv要素を追加させるコードを書いています。
tooltipは常に表示させる状態にしているのですが、div要素を複数個追加した場合(例えばdiv1,div2,div3とします)div1のみtooltipが表示され、div2とdiv3にはtooltipが表示されず、div1が削除された場合にdiv2にのみtooltipが表示されてしまいます。

全ての追加したdiv要素に対して、常にtooltipを表示させるためにはどのようにすればよろしいでしょうか?
tooltipはbootstrapのものを利用しており、coffeescriptでコードを記述しています。以下は私の書いたコードです。(*追記:回答者のユーザー様からcoffeescriptをjsに変更してほしいとの要望があり、jsに変換しています)

コードは以下です

HTML

1 <div class="mmbox"> 2 <form> 3 <input id="box" type="text" placeholder="名前を入力"><br> 4 <p><a id="box" class="btn btn-primary btn-lg" role="button">投稿</a></p> 5 </div> 6 7 <div id="box"> 8 </div>

javascript

1 2 3 4 5var positionOfNewBlock; 6 7$(function() { 8 return $("a#box").click(function(e) { 9 var block, ref, value, x, y; 10 value = $('input#box').val(); 11 ref = positionOfNewBlock(e), x = ref[0], y = ref[1]; 12 block = $("<div id ='tooltip' class='dot " + value + "' data-placement='bottom' data-toggle='tooltip' title= " + value + " style='left: " + x + "px; top: " + y + "px;' />").draggable({ 13 containment: "parent" 14 }).css({ 15 position: "absolute" 16 }); 17 18 $('div#box').append(block); 19 return $('#tooltip').tooltip('show'); 20 }); 21 22}); 23 24positionOfNewBlock = function(e) { 25 var canvas, x, y; 26 canvas = $('div#box'); 27 x = 300; 28 y = 100; 29 return [x, y]; 30};

プログラミングに関して、ど素人の状態ですが、、、
どうぞよろしくお願いいたします。

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

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

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

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

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

kei344

2016/07/14 15:10

HTMLを質問文に追記ください。また、コードはコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「</>」ボタンを押すとコードブロックになります。あと、coffeescriptより出力したjsを書いてもらったほうが答えやすいです。
kensukesuke

2016/07/14 16:31

追記させていただきました。サイト初心者ですが、不十分な内容での質問をしてしまい、すみませんでした。よろしくお願いいたします。
guest

回答1

0

ベストアンサー

これを修正することで直るかどうかは不明ですが、問題が1つあります。

Javascript1

1return $('#tooltip').tooltip('show');

tooltipというidが指定されたタグ、というセレクタを使っていますが、本来id属性は同一HTML内で「ただ1つ」しか存在してはいけないルールになっています。現在あなたが追加するtooltip付きのタグは全て同じ「tooltip」というidが割り当てられています。なので、idの割り当てをするとき、なんらかの連番をつけるなどしてtooltip1、tooltip2などにすべきです。

まあ、そんなことしなくても、すでにtooltipsを実行したいjQueryオブジェクトはblockという名前で変数に入っているので、idを割り当てずに以下のコードでもshowできると思います。

JavaScript

1return block.tooltip('show');

投稿2016/07/14 23:36

編集2016/07/15 02:57
masaya_ohashi

総合スコア9206

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

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

kei344

2016/07/15 01:49

block の作成に $('input#box').val(); を使っているので、全て同じ文字列が追加されるようになりませんか?
masaya_ohashi

2016/07/15 02:01

a#boxがクリックされた瞬間のinput#boxのvalなので、その時何をinputのフォームに入力していたかによりけりじゃないですかね? あと言われて気付きましたけど、boxというidも被ってますね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問