Я делаю оргструктуру с деревом D3. В каждом узле у меня есть несколько ID. Я хотел бы нажать на свой идентификатор и получить этот идентификатор во всплывающем окне. До сих пор я могу получить ВСЕ идентификаторы узла, когда я нажимаю на ОДИН идентификатор узла.
Чтобы быть точным, я использую JSON, где ВСЕ мои идентификаторы распределены, и способ отображения ВСЕХ идентификаторов моего узла:
.on('click', function () {
window.alert(d.data.id);
})
Итак, я полагаю, мне нужна переменная X, чтобы узнать, по какому идентификатору я щелкаю и отображать:
.on('click', function () {
window.alert(d.data.id[X]);
})
Вопрос в том, как я могу получить этот X, ИЛИ есть ли лучший способ добиться этого (я действительно не знаю js)
Я действительно застрял на этом, спасибо, что прочитали.
РЕДАКТИРОВАТЬ: я добавлю больше моего кода для ясности:
nodeEnter.append('text').each(function (d) {
var j = 0;
while (d.data.id[j] && d.data.id[j] != "") {
d3.select(this)
.style("fill", "black")
.style("text-anchor", "middle")
.attr('cursor', 'pointer')
.on('click', function () {
alert(d.data.id[j]);
})
.append('tspan')
.text(d.data.id[j])
.append('tspan')
.text(d.data.label[j]);
j++;
}
})
id - это массив идентификаторов в JSON. Каждый узел содержит массив id. Поэтому мне нужно связать «j» и вещи, которые я пишу (id и label).