问题描述
我有一个要求,其中有多个复选框。 在选择一个复选框时,我想取消隐藏某些可能的输入字段,但如果我选择多个复选框,包括取消隐藏该字段的复选框,则输入字段不可见。
对于只有一个复选框值,我使用 tokenize(../@control-value,'\s+') = 'some Value' 以及如何使用多个条件?是否可以使用“&&”和“||”在奥尔宾。另外请告诉我如何使用多个复选框值来取消隐藏输入字段。
解决方法
在 XPath 中,Orbeon Forms 用于公式“and”的语言用 and
表示,“or”用 or
表示(所以没有 &&
和 ||
就像许多语言一样)。
所以现在归结为您的条件是什么,例如“如果选中此复选框但未选中其他复选框,则显示控件”。也许以下方法可以解决问题:
tokenize(../@control-value,'\s+') = 'some Value' and
not(count(tokenize(../@control-value,'\s+')) gt 1)
或:
let $tokens := tokenize(../@control-value,'\s+')
return
$tokens = 'some Value' and not(count($tokens) gt 1)
如果您使用 Form Runner,并使用 xxf:split()
函数:
let $tokens := xxf:split($my-control)
return
$tokens = 'some Value' and not(count($tokens) gt 1)