Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Не выбирается значение в SelectList после его Refresh / 6 сообщений из 6, страница 1 из 1
17.06.2015, 23:27
    #38986340
Vlad_567
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выбирается значение в SelectList после его Refresh
Добрый день, прошу помочь с выбором значения в 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
18.06.2015, 08:17
    #38986456
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выбирается значение в SelectList после его Refresh
Vlad_567,
Ну, например, зацикливаете события связанные с refresh.
Приведите пример проще зачем это надо.
Прендент, юзкейс.
...
Рейтинг: 0 / 0
18.06.2015, 08:22
    #38986457
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выбирается значение в SelectList после его Refresh
Ups
Окапечатка...
Прецендент.
...
Рейтинг: 0 / 0
18.06.2015, 10:19
    #38986566
Gustly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выбирается значение в SelectList после его Refresh
Есть событие after_refresh. В данном случае делать по таймеру это отвратительно.

Если много DA то я сделаю через JS и событие http://api.jquery.com/ajaxstop/ .
Можно и через DA. after_refresh на Ваш селект лист. Теперь можно даже не ждать pl/sql чтобы браузер висел.
...
Рейтинг: 0 / 0
18.06.2015, 10:46
    #38986603
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выбирается значение в SelectList после его Refresh
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
21.06.2015, 14:07
    #38989152
Vlad_567
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выбирается значение в SelectList после его Refresh
Всем спасибо, всё заработало по событию after_refresh.
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Не выбирается значение в SelectList после его Refresh / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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