3

コントロールパネルを形成するために、d3jsを使用してページに一連のボタンを追加しています。各ボタン内で、いくつかの子要素を繰り返し処理して、ボタン内に順序付けられていないリストを作成したいと思います(長期的には、これはスタイリングやその他のチカニーのドロップダウンになります)。

以下のコード例は明らかに間違っています。単にモルドールに足を踏み入れたり、追加の途中でforループをドロップしたりするだけではありません。これを行う方法を思い出すために頭をひっくり返すことはできません。drilldownValuesリストアイテムとして追加したいすべての要素を含む配列です。私は.eachエウレカの瞬間から離れているような気がしますが、それを合わせることができません。

要するに、次のことは間違っています、どうすればそれを正しくすることができますか?

    .each(function(d,i) {
        var drilldownValues = d.drilldown;
        d3.select(this)
            .append('ul')
                for (var k = 0; k < drilldownValues.length; k++)
                {
                    .append('li')
                    .text(drilldownValues[k]);
                }
    })
4

1 に答える 1

8

ループの代わりに、d3の選択を使用します。の線に沿った何か

d3.select(this).append('ul')
  .selectAll('li').data(d.drilldown).enter()
  .append('li').text(function(d) { return d; })
于 2012-12-28T18:12:51.500 に答える