Не удается получить доступ к SelectedNode Value из asp Treeview в javascript - PullRequest
0 голосов
/ 05 февраля 2020

У меня есть страница asp, на которой есть древовидная структура, которая заполняется в коде (поэтому не привязана к данным). Когда я расширяю узлы, список элементов становится настолько большим, что после обратной передачи я теряю то, что было в дереве. Поэтому я искал использование клиентского сценария для использования scrollIntoView, но все примеры того, как получить текущий выбранный узел (узел, который я только что развернул), кажутся мне неудачными.

var elem = document.getElementById('navTree_SelectedNode');
alert(elem.value);

Для меня .value всегда равно нулю, как будто ни один элемент не был выбран. Я попытался вызвать этот код на window.load, а также запустил скрипт из кода. Так что я знаю, что есть много сообщений о том, как это сделать, но я не могу получить идентификатор этого элемента, поэтому я могу затем включить document.getElementById(), чтобы запустить scrollIntoView. Может быть, я пытаюсь получить доступ к значению слишком рано / поздно, и оно не установлено, поэтому где мне лучше всего это проверить?

Я также пытался получить к нему доступ:

var test = document.getElementById('navTree_Data.selectedNodeID');

и все равно не повезло.

Просто мысль, выбран ли пункт, на который я только что щелкнул, чтобы развернуть, а не Проверено, поскольку у узлов есть флажки?

Большое спасибо

1 Ответ

0 голосов
/ 07 февраля 2020

Проблема была вызвана тем, что .SelectAction на моих узлах было установлено на TreeNodeSelectAction.Expand, когда оно должно быть установлено на .SelectExpand.

...