2015-09-07 5 views
0

Я использовал d3js для отображения карты и установки местоположения с помощью Force Layout в виде круга.Как получить родительский узел из дочернего элемента в json, используя d3js в качестве форматирования?

У меня есть карта страны, и когда я нажимаю на какое-либо конкретное состояние, я удаляю свой svg и строю снова, получая d (дочерние записи) из json.

Теперь проблема заключается в том, что мне нужно вернуться и установить родительский узел, когда я нажимаю кнопку «Назад», на карту страны, и вам нужно снова установить связь состояния и узел.

Нужно ли использовать цикл для проверки всех записей в json?

Есть одно решение, которое я нашел, чтобы сохранить последний родительский узел в массиве и использовать его для возврата, но я не знаю. Как установить родительский узел, поскольку при событии click он всегда получает дочерние записи в функции щелчка.

Итак, как получить родительские записи в событии кликов?

Пожалуйста, помогите мне решить эту проблему.

ответ

1

Рекомендуется хранить данные в массиве, но не хорошо для тех, у кого большие данные.

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

array[0] = "Parent record" 
array[1] = "Child Record" 
array[2] = "Sub Child Record" 

Итак, это вы можете получает запись на месте нет необходимости в петлю через JSON теперь, когда вы вернетесь, как вы упомянули предположите, из штата в страну, чем просто перезагрузить страницу,

document.location.reload() 

так что ваш массив будет инициализирован с нулевыми значениями, так что вы можете хранить новые ценности, перейдя в другое состояние, не нужно чтобы получить отчет из страны и установить, потому что страна будет вашей главной страницей.

+0

Спасибо, что это работает, просто нужно перезагрузить страницу, не нужно получать родительские записи, потому что на первой странице карты страны. –

+0

Всегда готов помочь –