APEX 4.2。我根据查询在表单上选择列表:
SELECT empno || ' ' || ename AS d, empno AS r
FROM emp
当展开选择列表时,会显示两个连接的字段。
但是当选择了某个值并且列表折叠时,我只需要在表单上显示Ename。所以我只需要在没有号码的情况下拍摄2张JONES。当然,无论如何,返回值必须是empno。
[编辑]我的意思是,当选择列表打开时,我需要显示Empno和Ename,只有Ename在折叠时显示,并且Empno都会返回。
答案 0 :(得分:0)
尝试添加另一个文本字段以捕获名称并将其放在选择列表上。因此,每次选择项目时,显示的值都将在单独的容器中进行控制。你可以这样做:
除了您创建的SELECT LIST ITEM之外。添加另一个TEXTFIELD。
然后在 Javascript>下的主页面上页面加载时执行
粘贴此代码:
$('#P5_SELECT_CONTAINER div:nth-child(2)' ).append($('#P5_TEXT'));
var s_width = Number($('#P5_SELECT').css("width").replace("px",""));
$('#P5_TEXT').css({"width":(s_width-22)+"px","position":"relative","right":s_width+"px","pointer-events":"none"});
但首先您需要选择列表的名称/ ID以及您创建的文本字段。对于此代码,
选择列表ID = P5_SELECT
textfield id = P5_TEXT
只需用你已有的替换它们(selectlist和textfield id)。 然后创建一个动态动作
- EVENT =更改
- 选择类型=项目
- ITEM = P5_SELECT (或在您的情况下,您的SELECT LIST的名称)
- 行动=执行JAVASCRIPT
然后粘贴此代码
var sel = $('#P5_SELECT option:selected').text();
var substr_sel = sel.substr(sel.indexOf('-')+1).trim();
$s('P5_TEXT', substr_sel);
console.log($v('P5_TEXT')); -- just to check if return is correct.
注意:只需使用宽度播放,只显示选择列表的向上/向下箭头。
希望这有助于