powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Заполнить шаттл по выбору Popup Key LOV
11 сообщений из 11, страница 1 из 1
Заполнить шаттл по выбору Popup Key LOV
    #36547489
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть форма - Popup Key LOV + шаттл

Необходимо в шаттле отображать актуальные данные при выборе из поп апа имени пользователя. Насколько я понимаю, на событие OnChange расчитывать не приходится :)

Не подскажете, каким образом лучше организовать изменение отображаемых данных при выборе другого пользователя из Popup Key LOV?
...
Рейтинг: 0 / 0
Заполнить шаттл по выбору Popup Key LOV
    #36547867
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FoxterНасколько я понимаю, на событие OnChange расчитывать не приходится :)

Отчего же? Очень даже можно рассчитывать. Просто Key Value нужно тянуть не из самого элемента, а из скрытого. Например, для Popup Key LOV с именем P1_X:

Код: plaintext
onChange="alert($v('P1_X_HIDDENVALUE'))"
...
Рейтинг: 0 / 0
Заполнить шаттл по выбору Popup Key LOV
    #36548125
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
suPPLer
Код: plaintext
onChange="alert($v('P1_X_HIDDENVALUE'))"


Ммм... прекрасно :)

suPPLer
Отчего же? Очень даже можно рассчитывать. Просто Key Value нужно тянуть не из самого элемента, а из скрытого. Например, для Popup Key LOV с именем P1_X:

Вроде как мне интуиция подсказывает, что явой (скриптом) надо как-то в это поле записать значение... и причем... причем надо как-то потом сделать сабмит с определенным реквестом, который и совершит волшебное преображение элемента, откликающегося на странное имя "шаттл" :) И я так понимаю, все должно происходить по OnChange самого поп апа.

То есть необходимо:

0. процедура записи возвращаемого списком значения (js);
1. вызов этой процедурой реквеста, на который отреагирует шаттл и "перестроит" себя с учетом нашего скрытого поля;

Но апекс остается апексом :) И я почему-то не смог найти у элемента найти то место, которое для этого предназначено (для OnChange). Наиболее близкое, имхо, это Form Element Option Attributes в Element.

SuPPler, разрешите еще немного позлоупотреблять Вашим профессионализмом?

Вы не могли бы мне подсказать, через какой элемент будет граммотно организовать реордеринг ids. Вы же знаете, что у меня ids хранятся в виде строки с разделителем типа '12:345:98'. Необходимо предоставить пользователю возможность изменять эту последовательность на свое усмотрение.

Хотелось бы, конечно, вариант, как в самом апексе (стрелочки вверх - вниз), но что-то мне подсказывает, что для такой задачи слишком много заморочек при таком варианте реализации. Может что-то можно собрать из "конструктора Апекс" :)
...
Рейтинг: 0 / 0
Заполнить шаттл по выбору Popup Key LOV
    #36548286
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Foxter,

0. Чтобы указать обработчик onChange, используется поле HTML Form Element Attributes в Item Attributes.
1. Вам стоит определиться, хотите ли Вы изменять шаттл по сабмиту или только по изменению Popup Key LOV без сабмита.
...
Рейтинг: 0 / 0
Заполнить шаттл по выбору Popup Key LOV
    #36548642
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
suPPLerFoxter,

0. Чтобы указать обработчик onChange, используется поле HTML Form Element Attributes в Item Attributes.

Спасибо. Примерная функция может быть примерно такой ( - синтаксис :)) в HTML Header:

Код: plaintext
1.
2.
3.
4.
5.
6.
<script type="text/javascript">  

element1 = $x("P4_USER_ID");
element2 = $x("P4_HDN_ID_USER");
element2.value+=element2.value;
}
</script>

suPPLer1. Вам стоит определиться, хотите ли Вы изменять шаттл по сабмиту или только по изменению Popup Key LOV без сабмита.

Да сабмит - то, в принципе, не нужен. Зачем обновлять страницу, если можно обновить элемент...
...
Рейтинг: 0 / 0
Заполнить шаттл по выбору Popup Key LOV
    #36549141
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FoxterСпасибо. Примерная функция может быть примерно такой ( - синтаксис :)) в HTML Header:

Код: plaintext
1.
2.
3.
4.
5.
6.
<script type="text/javascript">  

element1 = $x("P4_USER_ID");
element2 = $x("P4_HDN_ID_USER");
element2.value+=element2.value;
}
</script>

Придётся переделывать, даже с учётом "примерно".

FoxterДа сабмит - то, в принципе, не нужен. Зачем обновлять страницу, если можно обновить элемент...

0. Popup Key LOV для выбора того, что Вам нужно, шаттл для отображения списка айдишников для выбора (слева) и списка уже выбранных в шаблон (справа).
1. Application Process, который по выбранному значению в Popup Key LOV будет возвращать два значения в переменные (строка с невыбранными айдишниками и строка с выбранными).
2. JS-код, который будет вызывать этот процесс, передавая ему значение Popup Key LOV, и по результатам в переменных в цикле заполнять две половинки шаттла. Половинки имеют имена P1_SHUTTLE_LEFT и P1_SHUTTLE_RIGHT для шаттла с именем P1_SHUTTLE.

Неплохой пример есть здесь .
...
Рейтинг: 0 / 0
Заполнить шаттл по выбору Popup Key LOV
    #36549926
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за пример.

Я тут подумал... Нам же, в принципе нужен только js вида
Код: plaintext
1.
2.
3.
4.
<script type="text/javascript"> 
function field_fill(){
doSubmit("FILL");
}
</script>

И так как у нас на момент вызова скрипта по событию onChange элемент Pop Up уже содержит значение ID, то необходимость в дополнительных скрытых полях пропадает. Теперь достаточно просто вызвать процедуру (уровня страницы), которая и возьмет необходимое значение Поп ап и заполнит шаттл. Логично?

P.S.: А насчет реордеринга ids каким образом лучше организовать. Как Вы считаете?
...
Рейтинг: 0 / 0
Заполнить шаттл по выбору Popup Key LOV
    #36550000
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FoxterДа сабмит - то, в принципе, не нужен. Зачем обновлять страницу, если можно обновить элемент...
Foxter
Код: plaintext
doSubmit("FILL");

Так нужен или не нужен?
...
Рейтинг: 0 / 0
Заполнить шаттл по выбору Popup Key LOV
    #36550030
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думал, что это просто реквест, запускающий процедуру... а оказывается нет... а как тогда? Как можно из js запустить процедуру без сабмита?
...
Рейтинг: 0 / 0
Заполнить шаттл по выбору Popup Key LOV
    #36550032
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FoxterP.S.: А насчет реордеринга ids каким образом лучше организовать. Как Вы считаете?

У шаттла стрелочки есть, перемещай - не хочу.
...
Рейтинг: 0 / 0
Заполнить шаттл по выбору Popup Key LOV
    #36550066
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FoxterКак можно из js запустить процедуру без сабмита?

STFW oracle apex ajax . ( Hint: htmldb_Get. )
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Заполнить шаттл по выбору Popup Key LOV
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]