Как добавить ссылки на каждую строку таблицы, используя эту настройку в d3 js? - PullRequest
0 голосов
/ 13 февраля 2019

Я настроил таблицу, используя d3 js, которая успешно отображает сохраненный файл csv, называемый data.csv, в моем html-формате так:

<script type="text/javascript"charset="utf-8">
            d3.text("/Users/cool_stuff/data.csv", function(data) {

                var parsedCSV = d3.csv.parseRows(data);

                var container = d3.select("#meowwoof")
                    .selectAll("tr")
                        .data(parsedCSV).enter()
                        .append("tr")

                    .selectAll("td")
                        .data(function(d) { return d; }).enter()
                        .append("td")
                        .text(function(d) {
                              return d;
                            }
                        );
            });


 </script>


<tbody id="meowwoof">

</tbody>

Это прекрасно работает, но я хотел бы добавить такесли пользователь нажимает на какую-либо строку, он ссылается на некоторый URL, например:

https://www.google.com/ + *value in first column of the given row thye clicked on*

Я нашел несколько примеров, рассказывающих о том, как это сделать, но они предназначены для разных начальных настроек, чемчто я делаю, и, следовательно, они не переводят, и я JS Noob, что делает еще труднее вписать объяснения в мою собственную установку

Это примерный ответ на аналогичный, но другой вопрос, который я не былв состоянии выяснить, как портировать:

d3 добавление HTML-ссылок на столбец данных в таблице

1 Ответ

0 голосов
/ 13 февраля 2019

Как указано, вы можете прикрепить обработчик события click и перенаправить пользователя на соответствующую ссылку

 var container = d3.select("#meowwoof")
                .selectAll("tr")
                    .data(parsedCSV).enter()
                    .append("tr")
                    .selectAll("td")
                    .data(function(d) { return d; })
                    .enter()
                    .append("td")
                    .text(function(d) {
                          return d;
                        }
                    )
                    .on('click',d=>{
                        // Assuming parsedCsv contains and d is a link
                        window.location.href = d;
                    })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...