Javascript 从一个选择列表追加到另一个选择列表(Apex 4.2)
我在APEX 4.2 X和Y中有两个选择列表页面项 X由级联下拉列表填充,以提供其值。我希望能够通过一个动态操作将某些值从X拉入Y,然后能够将级联列表X更改为另一个选择,并继续附加到列表Y 目前,我有以下JavaScript表达式,它使用一个set-value操作来附加到Y: 但是列表Y根本没有发现这个问题。设法解决了这个问题- 为了从一个列表追加到另一个列表,您可以创建以下函数,该函数使用“onclick”函数调用追加和禁用所选选项:Javascript 从一个选择列表追加到另一个选择列表(Apex 4.2),javascript,jquery,oracle,oracle-apex,Javascript,Jquery,Oracle,Oracle Apex,我在APEX 4.2 X和Y中有两个选择列表页面项 X由级联下拉列表填充,以提供其值。我希望能够通过一个动态操作将某些值从X拉入Y,然后能够将级联列表X更改为另一个选择,并继续附加到列表Y 目前,我有以下JavaScript表达式,它使用一个set-value操作来附加到Y: 但是列表Y根本没有发现这个问题。设法解决了这个问题- 为了从一个列表追加到另一个列表,您可以创建以下函数,该函数使用“onclick”函数调用追加和禁用所选选项: function getValues(X){ var
function getValues(X){
var list = '';
for (var i = 0; i < obj.length; i++) {
if (obj.options[i].selected && !obj.options[i].disabled) {
obj.options[i].disabled=true;
list += '<optionvalue="'+obj.options[i].value+'">'+obj.options[i].innerHTML+'</option>';
}
}
document.getElementById('Y').innerHTML += list;
}
然后,如果用户需要进行任何更改,我可以为用户提供删除所选选项的选项,并将选项重新添加到列表底部:
function removeValues(Y){
var arr = []; //array so we can repopulate target list
var el = document.getElementById('X');
for (var i = 0; i < obj.length; i++) {
if (obj.options[i].selected) {
arr.push('<option value="'+obj.options[i].value+'">'+obj.options[i].innerHTML+'</option>');
$("select:not(#"+$(obj).parent().attr('id')+") option[value="+$(obj).val()+"]").detach();
}
}
for (var i = 0; i < arr.length; i++) {
el.innerHTML += arr[i];
}
}
function removeValues(Y){
var arr = []; //array so we can repopulate target list
var el = document.getElementById('X');
for (var i = 0; i < obj.length; i++) {
if (obj.options[i].selected) {
arr.push('<option value="'+obj.options[i].value+'">'+obj.options[i].innerHTML+'</option>');
$("select:not(#"+$(obj).parent().attr('id')+") option[value="+$(obj).val()+"]").detach();
}
}
for (var i = 0; i < arr.length; i++) {
el.innerHTML += arr[i];
}
}