首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >qbo3依赖项需要AND和OR

qbo3依赖项需要AND和OR
EN

Stack Overflow用户
提问于 2021-05-08 00:11:24
回答 1查看 13关注 0票数 0

我们正在尝试为一个字段设置一个复杂的依赖关系,其中我们需要同时使用andor条件。

如何实现:

代码语言:javascript
复制
(FieldA and FieldB) or FieldC
EN

回答 1

Stack Overflow用户

发布于 2021-05-08 00:11:24

正如您已经注意到的,qbo3 Dependency行为不支持混合使用ANDOR

有两种变通方法。

自定义Javascript

您可以按照以下方式创建一个JS函数:

代码语言:javascript
复制
function requireComments() {  
  var fieldA = document.id('FieldA').value;  
  var fieldB = document.id('FieldB').value;  
  var fieldC = document.id('FieldC').value;  
  var commentField = document.id('ExceptionCommentsInput');
  var required = (fieldA && fieldB) || fieldC;  // same as (fieldA.value != '' && fieldB.value !='') || fieldC.value != '';  
  if (required) {    
    commentField.removeAttribute('disabled');    
    commentField.addClass('required');    
    commentField.removeClass('disabled');  
  } else {    
    commentField.setAttribute('disabled');    
    commentField.removeClass('required');    
    commentField.addClass('disabled');  
  }
}

然后,将requireComments()添加到FieldAFieldBFieldConchange处理程序中。

优点:支持

  • 对浏览器的要求稍低
  • 不会通过网络传递额外数据/保存到任务

缺点:

  • 必须自定义JS

隐藏字段

如果您不想使用自定义JS,您可以使用一些隐藏字段到达需要的位置。

创建一个名为FielldAFieldB的隐藏字段,并使其依赖于FieldA,FieldB (和)。然后,使ExceptionCommentsInput依赖于FieldAFieldB,FieldC (OR)。

优点:

  • 易于配置和维护

缺点:

  • extra field (FieldAFieldB)通过网络传递/保存任务
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67438395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档