1

次のselectステートメントがありますが、ユーザーがLOVでオプションを選択したときに、現在のsysdateを割り当てる動的アクションを設定する方法がわかりません。基本的に、動的アクションを介してLOVが選択されたときに、sysdateに「DATE_CALLED」フィールドを自動的に入力します。

チェックボックスに反していたがうまくいかないように見えるこのスレッドからの同じ処理を使用しようとしています-参照してください:

チェックされている/チェックされていないときに他の値を操作するためのOracleApExチェックボックス

select  APEX_ITEM.HIDDEN(1,change_id) ||
        APEX_ITEM.HIDDEN(2,contact_id) ||
        APEX_ITEM.SELECT_LIST_FROM_LOV(p_idx => 10,
                                       p_value => reason_id,
                                       p_lov => 'LOV_REASONS',
                                       p_attributes => 'class="lov_select"',
                                       p_show_null => 'YES',
                                       p_null_value => NULL,
                                       p_null_text => '--- Please select a reason ---') reas,
        APEX_ITEM.TEXT(p_idx => 20, 
                       p_value => TO_CHAR(date_contacted,'DD/MM/YYYY HH24:MI'),
                       p_size => 14,
                       p_attributes => 'class="date_val" readonly="readonly" style="background-color:#B0C4DE;border:1px solid #999999;"') "DATE_CALLED",
        APEX_ITEM.TEXTAREA(p_idx => 30,
                       p_value => comments,
                       p_rows => 2, 
                       p_cols => 30 ) "MPA_COMMENT"
from  MY_TABLE

ダイマニックアクションについては、次のとおりです。

Dynamic action: "lov selection"
Event: Change
Selection Type: jQuery Selector
jQuery Selector: .lov_select (this is the class I added to the select list from lov in the sql)
Condition: JavaScript Expression
Value: ****** Unsure what I need to put here ******

真の行動のために、私は以下を持っています:

True Action:
Sequence: 10
Action: Execute PL/SQl Code
Fire On Page Load: No
Code: :P1_DEF_DATE := TO_CHAR(SYSDATE,'DD/MM/YYYY HH24:MI'); and have Page Item Submitted and Returned

Sequence: 20
Action: Execute JavaScript Code
Fire On Page Load: No
Code: $(this.triggeringElement).closest("tr").find("td[headers='DATE_CALLED'] input").val($v('P1_DEF_DATE'));

$(this.triggeringElement)選択リストに対して正しくないため、このコードは機能していません。

チェックボックスではなくselect_list_from_lovシナリオに基づいて、必要なものをどのように達成できますか?

4

1 に答える 1

1

チェックボックスの条件を使用して、チェックされている状態とチェックされていない状態を区別し、真と偽の両方のアクションを定義できるようにしました。チェックボックスでこれは実際には必要ありません。値が変更されるたびに変更が発生します(つまり、ユーザーが別のオプションを選択します)。

ただし、無効/null オプションをキャッチしたい場合は、条件を使用できますが、JavaScript 式の代わりに演算子の 1 つを使用して値をテストします (例: "=" with "1")。

選択リストのアクションをさらに詳しく説明するには:
これは、例を設定するために使用したクエリです:

select 
apex_item.checkbox2(p_idx => 1, p_value => empno, p_attributes => 'class="check_select"') empselection,
apex_item.text(2, :P14_DEF_TEXT) empname,
APEX_ITEM.SELECT_LIST_FROM_LOV(p_idx => 3,
                                       p_value => NULL,
                                       p_lov => 'LOV_REASONS',
                                       p_attributes => 'class="lov_select"',
                                       p_show_null => 'YES',
                                       p_null_value => NULL,
                                       p_null_text => '--- Please select a reason ---') reas,
apex_item.text(4, null) some_text,
empno,
ename,
comm
from emp

の静的な値を持つ lov を使用しましたLOV_REASONS

lov select の動的アクション

True アクションのコード:

$(this.triggeringElement).closest("tr").find("td[headers='SOME_TEXT'] input").val("THIS IS A TEST");

これは私にとってはうまくいくようです。

于 2012-08-29T12:02:49.930 に答える