2017-03-23 9 views
0

d3.jsの棒グラフを作成する場合があります。その場合は数百のエントリがあるため、読みやすくするために「前の10」と「次の10 "ボタンを押す。私は、次のボタンまたは前のボタンのいずれかをクリックしたときに+1または-1が追加された変数cを作成し、無効にすることができました。0が無効になりました。しかし、「次の10」ボタンは、データの各セットが異なる量の行(バー)を有するため、異なる。 csvファイルの最後に当たるとボタンを無効にする方法はありますか?利用可能なデータがなくなったときに「次へ」ボタンを無効にする

これは私がやったことですが、それは私が望むように動作していないようです。

HTML

<div class="buttons"> 
    <button type="button" id="bt1" class="bt1">Previous 10</button> 
    <button type="button" id="bt2" class="bt2">Next 10</button> 
</div> 

JS

  d3.select("#bt2").on("click",() =>{ 
       a += 10; 
       b += 10; 
       c += 1; 
       update(a,b,c); 
       }); 

      d3.select("#bt1").on("click",() => { 
       a -= 10; 
       b -= 10; 
       c -= 1; 
       update(a,b,c); 
       }); 

var counts = {}; 
    data.forEach(function(r) { 
    if (!counts[r.Charge]) { 
    counts[r.Charge] = 0; } 
    counts[r.Charge]++; 
}); 

if (c === 1) { d3.select("#bt1").attr('disabled', 'disabled'); } 
else { document.getElementById("bt1").removeAttribute('disabled'); } 

if (counts === "0") { d3.select("#bt2").attr('disabled', 'disabled'); } 
else { document.getElementById("bt2").removeAttribute('disabled'); } 

答えて

0

私は(あなたがそれを作ることができればJSFiddleは非常に有用であろう)全体のコードなしで確認することはできませんが、もし最後の文で、あなたは=です==オブジェクト数を「0」と比較します。カウントは対象なので、これは真実だと私は信じています。 counts[some_value] === 0(オブジェクトカウントが空であるかどうかを確認する場合は、?

関連する問題