2013-02-27 137 views
2

我正在使用Oracle Apex 4.2。我有一個選擇列表和一個文本字段。我正在嘗試創建一個應該足夠簡單的動態操作,但我不確定如何操作。基本上取決於用戶從選擇列表中的值列表中選擇什麼值,然後應該填充文本字段。例如:Oracle Apex - 選擇列表填充文本字段

比方說,選擇列表讓用戶選擇'動物','汽車','人'。如果用戶選擇「動物」,那麼文本字段應該立即具有值「貓」。如果用戶選擇「汽車」,那麼文本字段應該立即具有「豐田」值。如果用戶選擇'Person @',那麼文本字段應該立即具有值'jim'等。

我將如何進行此動態操作?

謝謝, Stephen。

+0

難道這些列表固定的,或者是他們在數據庫中查找? – 2013-02-27 22:44:14

+0

您好@PaulWalker 通過查詢表格獲取選擇列表中的值列表 – 2013-02-27 23:14:18

回答

7

具有以下屬性創建一個新的動態動作

主要性能

  • 事件:更改
  • 選擇類型:項目
  • 項目(S):[選擇列表]
  • 條件:無條件

真正的行動

  • 行動:執行PL/SQL代碼
  • 火當事件的結果是:真
  • 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]
+1

好的答案,但是當您發佈時,並未指定需要查找表格。因此,您的javascript解決方案將無法提供服務,您需要用ajax代碼替換它。然而,PLSQL選項正是@StephenWalsh所需要的,除了在PLSQL代碼中應該有一個SQL來完成實際的查找。改變一下,你會得到我的投票:) – Tom 2013-02-28 08:44:56

+0

謝謝@RohanM 我先試過PL/SQL選項,它工作完美,謝謝你們! – 2013-02-28 09:30:35

+0

不用擔心,很高興我能幫上忙。 – 2013-02-28 09:34:09