Oracle Apex - Списъкът за избор попълва текстовото поле

Използвам Oracle Apex 4.2. Имам списък за избор и текстово поле. Опитвам се да създам динамично действие, което трябва да е достатъчно просто, но не съм сигурен как да го направя. По принцип в зависимост от това каква стойност избира потребителят от списъка със стойности в списъка за избор, текстовото поле трябва да бъде попълнено. Така например:

Да кажем, че списъкът за избор дава на потребителя избор да избере „Животно“, „Кола“, „Човек“. Ако потребителят избере „Животно“, тогава текстовото поле трябва веднага да има стойност „котка“. Ако потребителят избере „Кола“, тогава текстовото поле трябва веднага да има стойност „toyota“. Ако потребителят избере „Person@“, тогава текстовото поле трябва веднага да има стойност „jim“ и т.н.

Как да направя това динамично действие?

Благодаря, Стивън.


person Stephen Walsh    schedule 27.02.2013    source източник
comment
Тези списъци фиксирани ли са или се търсят в базата данни?   -  person Paul Walker    schedule 28.02.2013
comment
Здравей, @PaulWalker, списъкът със стойности в списъка за избор се получава чрез заявка към таблица   -  person Stephen Walsh    schedule 28.02.2013


Отговори (1)


Създайте ново динамично действие със следните свойства

Основни свойства

  • Събитие: Промяна
  • Тип избор: Арт
  • Артикул(и): [Изберете списък]
  • Състояние: Без състояние

Истинско действие

  • Действие: Изпълнете PL/SQL код
  • Fire When събитие Резултатът е: True
  • PL/SQL код:

    Вариант 1 - използвайте справочна таблица

    select LOOKUP_VALUE
    into :P1_TEXT
    from LOOKUP_TABLE
    where original_value = :P1_SELECT_LIST;
    

    Вариант 2 – Използвайте твърдо кодирани стойности

    CASE upper(:P1_SELECT_LIST)
        WHEN 'ANIMAL' THEN :P1_TEXT := 'cat';
        WHEN 'CAR' THEN :P1_TEXT := 'toyota';
        WHEN 'PERSON' THEN :P1_TEXT := 'jim';
        ELSE :P1_TEXT := null;
    END CASE;
    
  • Елементи на страница за изпращане: [P1_SELECT_LIST]

  • Елементи на страницата за връщане [P1_TEXT]
person Ro Milton    schedule 28.02.2013
comment
Добър отговор, но когато публикувахте това, не беше посочено, че е необходимо търсене в таблица. Вашето javascript решение за това няма да бъде полезно и ще трябва да го замените с ajax код. Опцията PLSQL обаче е точно това, от което се нуждае @StephenWalsh, с изключение на това, че в кода на PLSQL трябва да има SQL, който извършва действителното търсене. Променете го малко и ще получите гласа ми :) - person Tom; 28.02.2013
comment
Благодаря @RohanM. Първо опитах опцията PL/SQL и тя работи перфектно, благодаря момчета! - person Stephen Walsh; 28.02.2013
comment
Без притеснения, радвам се, че можах да помогна. - person Ro Milton; 28.02.2013
comment
Благодаря, Том, коригирах отговора си, както беше предложено. - person Ro Milton; 28.02.2013