【问题标题】:Append from one select list to another (Apex 4.2)从一个选择列表附加到另一个(Apex 4.2)
【发布时间】:2015-11-26 23:24:53
【问题描述】:

我在 APEX 4.2 中有两个选择列表页面项(XY

X 由级联下拉列表填充以提供其值。我希望能够通过动态操作仅将 X 中的某些值拉入 Y,然后能够将级联列表 (X) 更改为另一个选择并继续附加到列表 Y

目前,我有以下 JavaScript 表达式,使用 set value 操作附加到 Y

var target_val = $('#P1_X').find(":selected").val();
var target_text = $('#P1_X').find(":selected").text();

$('#P1_Y).append($('<option/>', {
    value: target_val,
    text: target_text
}));

但列表Y 根本没有发现这一点。

【问题讨论】:

    标签: javascript jquery oracle oracle-apex


    【解决方案1】:

    设法解决了这个问题-

    为了从一个列表附加到另一个列表,您可以创建以下函数,该函数使用“onclick”函数调用来附加和禁用所选选项:

    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];
               }
         }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-09
      • 1970-01-01
      • 1970-01-01
      • 2017-04-12
      • 2023-04-01
      • 2020-02-18
      相关资源
      最近更新 更多