私はDonut3D.jsライブラリ(D3.jsチャートライブラリに基づいています)(http://bl.ocks.org/NPashaP/9994181)を使用しています。Donut3D.js 3次元円グラフデータイベントが発生しない
私は、選択オプションのHTMLコンボボックスコントロールで変更を監視するためのJavaScriptイベントリスナーを作成しました。ユーザーはコンボボックスからオプションを選択し、選択したオプションに基づいて、3次元円グラフのデータをSQL Serverデータベースからフェッチし、グラフを再描画します。しかし、私のチャートはレンダリングされていませんが、私がFirebugデバッグモードに入っているときは、再描画されます。私は、FirefoxとFirebugをデバッグに使用しています。私のWebアプリケーションは、MVCパターンとC#プログラミング言語を使用しています。次のコードスニペットです:部分View1をで
:
<select id=hucDdl></select>
部分VIEW2で:
<script>
$(document).ready(function(){
//Event listener when selection changes
$("#hucDdl").change(function() {
//Get huc value
var huc;
if($("#hucDdl").val() != null){
huc = $("#hucDdl").val();
});
//Call function
ChangeData();
});
function ChangeData(){
<blockquote>var huc = $("#hucDdl").val();
var arr = [];
var lulcData = null;
//get data from SQL Server
$.ajax({<br/></blockquote>
url: "/Home/GetBaseLulcJson/",
type: "GET",
data: {huccode: huc},
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function(result){
arr = result;
},
error: function(data){
}
})
lulcData = [
{ "label": "Cropland", "value": arr[0], "color": "#ffb3ba" },
{ "label": "Forest", "value": arr[1], "color": "#ffdfba" },
{ "label": "Pasture", "value": arr[2], "color": "#ffffba" },
{ "label": "Rangeland", "value": arr[3], "color": "#baffc9" },
{ "label": "Urban", "value": arr[4], "color": "#bae1ff" }
];
//Draw the 3d pie chart
Donut3D.draw("blulcpie", getData(), 90, 50, 90, 40, 30, 0);
function getData(){
<blockquote>return lulcData.map(function (d) {
return { label: d.label, value: +d.value, color: d.color };
});
}
});
</script>
ChangeData()関数は、選択変更に発射されていません。
データが変更されたときにチャートを再描画する方法を知っている人はいますか?
SQL Serverからフェッチされたデータが正しいです。
グラフを再描画しない原因は何か分かりません。
おそらく実際のコードの例が役立ちますか?コンソールから何かエラーが出ていますか? – delagroove
3次元円グラフを描画する線は、円グラフを描画するために必要なすべてです。 JavaScriptライブラリは、私が引用したリンクにあります。 Javascriptエラーはまったくありません。私がFirebugにいて、Javascriptコードを1行ずつ調べると、それは私がやりたかったこととまったく同じです。しかし、デバッグモードを終了すると、グラフが表示されません。 – user2770113
私はこれが私のチャートライブラリの問題ではなくjqueryの問題かどうか疑問に思っています。 jquery-1.10.2.jsバージョンを使用しています。 – user2770113