jQuery勉強中です。ネットで調べていたのですが、わからなかったのでご教授ください。
【困っていること】
グラフにjQueryの内容が反映されない。
SQLDataSourceの結果をStackedBar100で表現し、URLで遷移できるようにしたいです。
これをchart.jsを使って実現しようとしています。
調べてみると、
chart.jsで実現するためには、canvasタグで囲まないといけないようなので、
$("#Chart1").wrapAll($("<canvas id=" + "Chart1"+ "></canvas>"));
と記述しました。
しかし、うまくいきませんでした。
私の知識不足ということもあり、何が原因かわからない状態です。
原因をご教授いただけないでしょうか。
<body> <script src="https://cdn.jsdelivr.net/npm/chart.js@2.8.0"></script> <script type="text/javascript"> $(document).ready(function () { $("#Chart1").wrapAll($("<canvas id=" + "Chart1"+ "></canvas>")); const ctx = document.getElementById('Chart1').getContext('2d'); const chart = new Chart(ctx, { type: 'stackedbar100', }); document.getElementById('Chart1').addEventListener('click', e => { const elements = chart.getElementAtEvent(e); if (elements.length) { alert(`${elements[0]._index}: ${elements[0]._model.label}`); } }); }); </script> <form id="title" runat="server"> ・・・・ <div> <asp:Chart ID="Chart1" runat="server" DataSourceID="SqlDataSource1"> <series> <asp:Series ChartType="StackedBar100" Name="Series1" XValueMember="KI" YValueMembers="50点~70点"> </asp:Series> <asp:Series ChartArea="ChartArea1" ChartType="StackedBar100" Name="Series2" XValueMember="KI" YValueMembers="70点~100点"> </asp:Series> </series> <chartareas> <asp:ChartArea Name="ChartArea1"> </asp:ChartArea> </chartareas> </asp:Chart> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DBConnectionString %>" SelectCommand="【(省略)SQL文】"></asp:SqlDataSource> </div> </body>