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

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

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

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

HTML

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

Q&A

解決済

1回答

2638閲覧

tooltip内の文字を、折りたたみメニューで表示する方法について

sasuke

総合スコア12

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

HTML

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

0グッド

0クリップ

投稿2016/12/06 09:11

編集2016/12/06 09:14

閲覧ありがとうございます。
###前提・実現したいこと
以下のサイトを参考にGooglechartのtooltipから文字列('$600K in our first year!'や'Sunspot activity made this our best year ever!')を表示することが出来ました。
参考URL→https://developers.google.com/chart/interactive/docs/customizing_tooltip_content

php

1<html> 2 <head> 3 <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> 4 <script type="text/javascript"> 5 google.charts.load('current', {'packages':['corechart']}); 6 google.charts.setOnLoadCallback(drawChart); 7 8 function drawChart() { 9 var dataTable = new google.visualization.DataTable(); 10 dataTable.addColumn('string', 'Year'); 11 dataTable.addColumn('number', 'Sales'); 12 // A column for custom tooltip content 13 dataTable.addColumn({type: 'string', role: 'style'}); 14 dataTable.addColumn({type: 'string', role: 'tooltip'}); 15 16 17 dataTable.addRows([ 18 ['2010', 600, 'stroke-color:#3366cc', '$600K in our first year!'], 19 ['2011', 1500, 'stroke-color:#3366cc', 'Sunspot activity made this our best year ever!'], 20 ['2012', 800, 'stroke-color:#3366cc', '$800K in 2012.'], 21 ['2013', 1000, 'stroke-color:#3366cc', '$1M in sales last year.'] 22 ]); 23 24 var options = { 25 tooltip: {isHtml: true}, 26 legend: 'none', 27 bar: {groupWidth: "100%"} 28 29 }; 30 var chart = new google.visualization.ColumnChart(document.getElementById('col_chart_html_tooltip')); 31 chart.draw(dataTable, options); 32 } 33 </script> 34 </head> 35 <body> 36 <!-- The next line rotates HTML tooltips by 30 degrees clockwise. --> 37 38 <!-- <style>div.google-visualization-tooltip { transform: rotate(30deg); }</style> --> <!--この行でToolTipを30度傾けてる--> 39 40 <div id="col_chart_html_tooltip" style="width: 400px; height: 400px;"></div> 41 </body> 42</html> 43

そして、「その文字列を、項目をクリックすると折りたたまれたフォームが展開されそこに文字列を表示できるようにしたい」というのが実現したいことです。
それについて以下のサイトを参考に折りたたみのやり方はわかりました。
[http://fukafuka295.jp/hp/hp_no10.html]
ですが、それをtooltip内に実装するにあたって上手く組み込む方法が色々試しましたが上手くいきませんでした...。
分かる方いましたらどうかご教示くださいm(_ _)m

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

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

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

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

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

guest

回答1

0

ベストアンサー

マニュアルのとおり、以下の2点をやればtooltipでHTMLを書けると思います。

javascript

1tooltip.isHtml: true 2dataTable.addColumn({'type': 'string', 'role': 'tooltip', 'p': {'html': true}})

ただし、これだとtooltipにクリックできないので、以下のようにtriggerをbothにするといいみたいです。

javascript

1tooltip: { 2 isHtml: true, 3 trigger: 'both' 4}

軽く動くサンプルを作ったので載せておきます

html

1<html> 2 <head> 3 <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> 4 <script type="text/javascript"> 5 google.charts.load('current', {'packages':['corechart']}); 6 google.charts.setOnLoadCallback(drawChart); 7 8 function drawChart() { 9 var dataTable = new google.visualization.DataTable(); 10 dataTable.addColumn('string', 'Year'); 11 dataTable.addColumn('number', 'Sales'); 12 // A column for custom tooltip content 13 dataTable.addColumn({type: 'string', role: 'style'}); 14 dataTable.addColumn({type: 'string', role: 'tooltip', 'p':{html:true}}); 15 16 var test1 = "文字列テスト"; 17 var html = '<div onclick="obj=document.getElementById(\'open\').style; obj.display=(obj.display==\'none\')?\'block\':\'none\';"><a style="cursor:pointer;">▼ クリックで展開</a></div><div id="open" style="display:none;clear:both;">'+test1+'</div>'; 18 19 dataTable.addRows([ 20 ['2010', 600, 'stroke-color:#3366cc', html], 21 ['2011', 1500, 'stroke-color:#3366cc', 'Sunspot activity made this our best year ever!'], 22 ['2012', 800, 'stroke-color:#3366cc', '$800K in 2012.'], 23 ['2013', 1000, 'stroke-color:#3366cc', '$1M in sales last year.'] 24 ]); 25 26 var options = { 27 tooltip: {isHtml: true, trigger: 'both'}, 28 legend: 'none', 29 bar: {groupWidth: "100%"} 30 31 }; 32 var chart = new google.visualization.ColumnChart(document.getElementById('col_chart_html_tooltip')); 33 chart.draw(dataTable, options); 34 } 35 </script> 36 </head> 37 <body> 38 <!-- The next line rotates HTML tooltips by 30 degrees clockwise. --> 39 40 <!-- <style>div.google-visualization-tooltip { transform: rotate(30deg); }</style> --> <!--この行でToolTipを30度傾けてる--> 41 42 <div id="col_chart_html_tooltip" style="width: 400px; height: 400px;"></div> 43 </body> 44</html> 45コード

参考にしたstackoverflow

投稿2016/12/06 12:47

編集2016/12/06 20:38
popobot

総合スコア6586

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

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

sasuke

2016/12/06 20:13

回答と、サンプルまでご提示していただき本当にありがとうございます! すみません。あと1点ですが、変数に入れた文字列を先ほどの展開フォームに組み込んで表示したいときはどのように表記すればいいのでしょうか... var test1 = "文字列テスト"; '<div onclick="obj=document.getElementById(\'open\').style; obj.display=(obj.display==\'none\')?\'block\':\'none\';"><a style="cursor:pointer;">▼ クリックで展開</a></div><div id="open" style="display:none;clear:both;">`${test1}`</div>'; このように書いても結果からは変数の中身ではなく`${test1}`がそのまま表示されてしまいます。 もしよろしければ助けていただけると幸いです。
popobot

2016/12/06 20:39

単に文字列結合すればいいと思いますよ。回答のコードを変更したので参考にしてください。
sasuke

2016/12/07 06:40

出来ました!助かりました...ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問