powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Не выбирается значение в SelectList после его Refresh
6 сообщений из 6, страница 1 из 1
Не выбирается значение в SelectList после его Refresh
    #38986340
Vlad_567
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, прошу помочь с выбором значения в SelectList после обновления (Refresh) SelectList-а.

На странице есть элементы:
1. SelectList - P1_SELECT_LIST с текстом запроса:
select 'name1' as name, 'code1' as code from dual
union all
select 'name2' as name, 'code2' as code from dual
union all
select 'name3' as name, 'code3' as code from dual where :P1_NEW_VALUE='code3'
union all
select 'name4' as name, 'code4' as code from dual where :P1_NEW_VALUE='code4'

2. TextField - P1_NEW_VALUE - Здесь код элемента, который должен появится в SelectList после его обновления

3. TextField - P1_SELECT_CODE - Здесь код записи, который должен быть выбран в SelectList после его обновления

4. Кнопка, по которой запускается DynamicAction

В Dynamic Action выполняются действия:
1. Execute PL/SQL Code
В PL/SQL Code: :P1_SELECT_LIST:=:P1_SELECT_CODE;
В Page Items to Submit: P1_SELECT_CODE,P1_NEW_VALUE
В Page Items to Return: P1_SELECT_LIST

в Wait For Result - галка стоит

2. Refresh - P1_SELECT_LIST
3. Execute JavaScript Code: setTimeout('$x_Value("P1_SELECT_LIST",$v("P1_SELECT_CODE"));', 1000);

Мне необходимо после внесения в P1_NEW_VALUE какого-то значения, чтобы оно появилось в SelectList и выбрать то что указано в P1_SELECT_CODE.
После нажатия на кнопку и выполнения Dynamic Action в SelectList новое значение появляется, а выбрать то что необходимо (то что указано в P1_SELECT_CODE) получается только указанной командой (setTimeout('$x_Value("P1_SELECT_LIST",$v("P1_SELECT_CODE"));', 1000);). Как я понимаю выбор происходит с задержкой, если выбрать обычной командой: document.getElementById("P1_SELECT_LIST").value=document.getElementById("P1_SELECT_CODE").value; то ничего не происходит, выбор не производится. Эта же команда, выполненная в отдельной кнопке - выбирает, а когда она в DynamicAction и обязательно после "Refresh - P1_SELECT_LIST" не срабатывает. Если убрать Refresh, то значение выбирается.

Еще заметил: если посмотреть отладчиком (пошагово выполнить JavaScript - document.getElementById("P1_SELECT_LIST").value=document.getElementById("P1_SELECT_CODE").value то значение выбирается.
...
Рейтинг: 0 / 0
Не выбирается значение в SelectList после его Refresh
    #38986456
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad_567,
Ну, например, зацикливаете события связанные с refresh.
Приведите пример проще зачем это надо.
Прендент, юзкейс.
...
Рейтинг: 0 / 0
Не выбирается значение в SelectList после его Refresh
    #38986457
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ups
Окапечатка...
Прецендент.
...
Рейтинг: 0 / 0
Не выбирается значение в SelectList после его Refresh
    #38986566
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть событие after_refresh. В данном случае делать по таймеру это отвратительно.

Если много DA то я сделаю через JS и событие http://api.jquery.com/ajaxstop/ .
Можно и через DA. after_refresh на Ваш селект лист. Теперь можно даже не ждать pl/sql чтобы браузер висел.
...
Рейтинг: 0 / 0
Не выбирается значение в SelectList после его Refresh
    #38986603
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vlad_567,

I. Вариант
1. В элементе P1_SELECT_LIST, в разделе Cascading LOV Parent Item(s), прописываете элемент P1_NEW_VALUE
2. По кнопке или по событию, без разницы срабатывает DA, который делает refresh P1_SELECT_LIST.
3. Второй DA, событие after refresh, действие, присвоение значения из одного поля, другому.

II. Вариант
1. В элементе P1_SELECT_LIST, в разделе Cascading LOV Parent Item(s), прописываете элемент P1_NEW_VALUE
2. По кнопке или событию вызвать JS функцию.
Код: javascript
1.
2.
3.
4.
5.
6.
function onMybutton () {
$('#P1_SELECT_LIST').one('apexafterrefresh', function() {
	$s("P1_SELECT_LIST",$v("P1_SELECT_CODE"));
});	
	$('#P1_SELECT_LIST').trigger('apexrefresh');
};
...
Рейтинг: 0 / 0
Не выбирается значение в SelectList после его Refresh
    #38989152
Vlad_567
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо, всё заработало по событию after_refresh.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Не выбирается значение в SelectList после его Refresh
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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