【问题标题】:How to select/Deselect all checkboxes in oracle apex form如何选择/取消选择 oracle apex 表单中的所有复选框
【发布时间】:2020-05-12 04:21:11
【问题描述】:

我在 Oracle Apex 中有一个页面区域,其中包含许多复选框(顶点形式)。 我想要一个在每个复选框项目的标题处添加一个复选框的功能,它将选择/取消选择下面的所有复选框项目。

我是 Apex 开发的新手,需要这方面的帮助。

【问题讨论】:

  • 请访问help center,使用tour查看内容和How to Ask。做一些研究,搜索关于SO的相关主题;如果您遇到困难,请发布您尝试的minimal reproducible example,并使用[<>] sn-p 编辑器记录输入和预期输出。发布代码,然后发布图像作为支持,但不仅仅是图像。如果 Oracle 输出是纯 HTML,我们不需要了解 oracle
  • 复选框上方的文本是来自每个项目的标签,还是您为此使用子区域?该解决方案将高度依赖 HTML 标记,因此如果您可以在 apex.oracle.com 上放一个示例,将会很有帮助。如果你能准确地重现它,它不需要是实际的应用程序。

标签: javascript jquery oracle oracle-apex-19.1


【解决方案1】:

这是一个假设复选框上方的文本来自项目标签的解决方案(不知何故,我认为情况并非如此)。如果需要,当我了解更多相关信息时,我可以更新答案以更好地适应您的页面。

首先,进入您要添加此“切换”功能的每个复选框。向下滚动到 CSS Classes 属性并将 toggle-cb 放在该字段中。

接下来,进入页面级属性,将以下代码添加到函数和全局变量声明属性:

function enableToggle() {
  var $wrapperDiv = $(this);
  var $label = $wrapperDiv.find('.t-Form-label');
  var $item = $wrapperDiv.find('.apex-item-checkbox');
  var buttonHtml = '<button type="button" class="t-Button t-Button--tiny t-Button--simple">Toggle all</button>';

  $label.html($label.text() + ' ' + buttonHtml);

  $label.find('button').on('click', function(event) {
    var $button = $(this);
    var $checkboxes = $item.find('input[type="checkbox"]');
    var checkedCount = $checkboxes.filter(function() {
      return this.checked === true;
    }).length;
    var check = checkedCount < $checkboxes.length;

    $checkboxes.each(function() {
      this.checked = check;
    });

    event.stopPropagation();
    $button.blur();
  });
}

最后,在页面的Execute when Page Loads属性中添加如下代码:

$('.toggle-cb').each(enableToggle);

这将为每个项目的标签添加一个按钮(前提是复选框具有 toggle-cb 类),用于进行切换:

请参阅以下内容以了解有关上述代码的更多信息: https://www.youtube.com/watch?v=Pjur4Zkkwsk&list=PLUo-NIMouZ_sgdQpMbXXwhHKpwRggCY34&index=1

【讨论】:

  • 如果复选框标签为空白,并且我们显示了一个子区域标签,我需要进行哪些更改。
  • 我认为可能是这种情况(我无法让我的复选框看起来像你的)。老实说,如果没有看到确切的标记,我不能准确地说。如果您在 apex.oracle.com 上放置一个模仿您的页面的示例,那可能会起作用。或者,我们可以在网上见面。如果您愿意,请在 Twitter (twitter.com/dmcghan) 上私信我或通过我的博客 (jsao.io/contact) 与我联系。
猜你喜欢
  • 2015-11-04
  • 2011-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-04
  • 2016-11-06
  • 1970-01-01
相关资源
最近更新 更多