|
|
|
получить ID узла дерева
|
|||
|---|---|---|---|
|
#18+
Добрый день всем! В Apex 5 создаю элементарнейшее дерево с запросом вида Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Поле ID из таблицы кладется в поле VALUE дерева (строка ID AS VALUE в запросе) Вопрос такой - как мне найти элемент дерева с заданным id? Точнее все просто, я хочу подсветить этот элемент дерева другим цветом Синтаксис, я так понимаю, будет выглядеть примерно так: Код: javascript 1. проблема именно в методе find - не знаю, что туда написать, а может и вообще не так писать нужно. Просто уже пересмотрел кучу страниц в интернетах и чё-то не могу найти никак :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2015, 11:41 |
|
||
|
получить ID узла дерева
|
|||
|---|---|---|---|
|
#18+
Zeke, Как же все мудренно Вам только подсветить надо? Зачем метод find.. У вас произошло событие клик. У вас есть куда кликнули... Вот точка отсчета у вас есть. Вам даже ИД не надо. Поменяйте у элемента на который вы кликнули Код: plaintext Код: javascript 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2015, 13:34 |
|
||
|
получить ID узла дерева
|
|||
|---|---|---|---|
|
#18+
Zeke, в 5-ке нет автоподсветки кликнутого? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2015, 13:39 |
|
||
|
получить ID узла дерева
|
|||
|---|---|---|---|
|
#18+
Отвечаю вам обоим сразу :) Подсветка в 5-ке есть, даже когда просто наводишь мышкой. Но мне подсветка нужна, не когда просто кликаешь или мышкой наводишь! У меня этот код поиска написан в Execute when Page Loads Мне нужно, когда страница загружается и пользователь открывает дерево, чтобы нужный узел уже был подсвечен в зависимости от айдишника из другого item'а Иначе бы я не извращался так :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2015, 13:47 |
|
||
|
получить ID узла дерева
|
|||
|---|---|---|---|
|
#18+
ZekeОтвечаю вам обоим сразу :) Подсветка в 5-ке есть, даже когда просто наводишь мышкой. Но мне подсветка нужна, не когда просто кликаешь или мышкой наводишь! У меня этот код поиска написан в Execute when Page Loads Мне нужно, когда страница загружается и пользователь открывает дерево, чтобы нужный узел уже был подсвечен в зависимости от айдишника из другого item'а Иначе бы я не извращался так :( Встречный вопрос, я просто не видел дерево в пятерке. А дерево открывается и фокусируется (onFocus) на нужном элементе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2015, 14:35 |
|
||
|
получить ID узла дерева
|
|||
|---|---|---|---|
|
#18+
blkangel, Сейчас так и происходит, да. У дерева есть атрибут Selected Node Page Item/ Если его указать, то при открытии дерево будет раскрыто именно на том узле, который указан в этом свойстве. Но мне этого недостаточно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2015, 14:47 |
|
||
|
получить ID узла дерева
|
|||
|---|---|---|---|
|
#18+
Zekeblkangel, Сейчас так и происходит, да. У дерева есть атрибут Selected Node Page Item/ Если его указать, то при открытии дерево будет раскрыто именно на том узле, который указан в этом свойстве. Но мне этого недостаточно попробу поставить туда &ITEMS. в него в статике пропиши узел. Будет выделять? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2015, 14:49 |
|
||
|
получить ID узла дерева
|
|||
|---|---|---|---|
|
#18+
Petro123, чё-то я не понял, что нужно сделать, но что-то мне подсказывает, что работать это не будет :) В этом свойстве указывается просто какой-нибудь page item и если значение этого page item'а есть в дереве, то дерево встает именно на этот узел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2015, 14:55 |
|
||
|
получить ID узла дерева
|
|||
|---|---|---|---|
|
#18+
Zeke, Так, давайте разбираться. Вы пишите: apex.jQuery("#P87_PARENT_ID_TREE").find(...) apex.jQuery("#P87_PARENT_ID_TREE") вернёт jquery объект элемента с id = P87_PARENT_ID_TREE. Т.е. скорее всего айтем, если конечно в статик id региона с деревом у вас не вбито "P87_PARENT_ID_TREE". Далее find будет искать в дочерних элементах то, что вы ему там написали. Сомневаюсь, что у вас узлы дерева лежат под айтемом, который скорее всего input) Т.е. вам надо начать с нахождения родительского элемента для узлов деревьев. Чем точнее вы его определите - тем скорее всего быстрее отработает find. Поэтому на запущенной странице в нормальном браузере(не ИЕ, хотя и там с некоторых пор есть аналог) щёлкаете правой клавишей по дереву и выбираете нечто вроде Inspect Element/Просмотр кода элемента. Изучаете разметку, ищете какой-нибудь признак за который можно зацепиться - айдишник региона или класс(например у меня есть класс a-TreeView). Далее в find вписываете поиск от выбранного корня. Только определите по разметке каким атрибутом у вас выступает value, у меня например он входит в id узла, а поиск по айдишнику быстрый и поэтому примерно так: $('#'+$('.a-TreeView').attr('id')+'_'+$v('P87_PARENT_ID')) Был бы у вас пример на apex.oracle.com текст был бы в 4 раза короче. А так приходится гадать какая у вас темка и какое дерево. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2015, 09:31 |
|
||
|
получить ID узла дерева
|
|||
|---|---|---|---|
|
#18+
heavyside, Спасибо вам за ответ! Я попытаюсь исчо раз объяснить ситуацию. на странице есть тупо дерево, я в самом начале поста описал запрос для него. Возможно, вас смутило слово Parent в нем, но не обращайте на это внимания :) Соответственно у дерева в свойстве Static Tree ID прописано P87_PARENT_ID_TREE На этой же странице есть выпадайка page item P87_PARENT_ID. При открытии страницы у этой выпадайки уже значение заполнено чем-то. И у дерева есть атрибут Selected Node Page Item, в котором прописан этот же page item P87_PARENT_ID. И когда дерево раскрываем, то оно даже встает на тот узел, который указан в этой выпадайке. И вот я хочу просто, чтобы в дереве подсвечивался узел с тем же id-шником, который указан на момент открытия страницы у выпадайки P87_PARENT_ID Поле ID из таблицы кладется в поле VALUE дерева (строка ID AS VALUE в запросе). У выпадайки этот же id лежит в $("#P87_PARENT_ID").val() Я пробовал сначала через метод find искать по тексту, но так как текст в выпадайке может встречаться несколько раз среди наименования узлов дерева, то дерево может подсветить несколько узлов в разных местах, что логично. Поэтому я решил искать через id в дереве, но пока что так и не допер, как это сделать :( сам код страницы для дерева в браузере выглядит вот так Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. И , допустим, я хочу подсветить узел дерева, у которого, value = 152, например. А value - это и есть id ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2015, 11:47 |
|
||
|
получить ID узла дерева
|
|||
|---|---|---|---|
|
#18+
Zeke, чисто JS вопрос. Сходи к ним в ветку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2015, 12:19 |
|
||
|
получить ID узла дерева
|
|||
|---|---|---|---|
|
#18+
Короче, можно так подсветить выделенный узел: Код: javascript 1. но это при условии, что у дерева в свойстве Selected Node Page Item прописан page item, на который оно встает, когда дерево раскрываешь (в моем случае это P87_PARENT_ID) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2015, 17:01 |
|
||
|
|

start [/forum/topic.php?fid=50&fpage=26&tid=1874768]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
39ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 315ms |

| 0 / 0 |
