getQuestionValue( )

返回提供的项路径的单个问题值。项路径应为完整路径,并且应包含 visitIdformIditemId 的值。此函数从重复表单和平面表单的问题中提取值。

所有访问不能在变量定义中使用。如果要从单个函数调用中的重复表单实例提取多个值,请使用 getRFValues( ) 函数。

注:

  • 此规则不支持“访问开始日期”项。
  • 这是聚合函数,在目标位于重复表单的情况下,将为每个表单实例运行规则。

语法

getQuestionValue('ruleVariable', eventInstanceNumber, formInstanceNumber, repeatFormNumber)

参数

注:

如果缺少可选参数,则从规则目标上下文获取事件实例编号和表单实例编号。
参数 必填/可选 说明
ruleVariable 必需 要检索的变量。必须是规则变量(在规则编辑器中全局添加)。
eventInstanceNumber 可选

事件实例编号/周期实例编号。

要引用非重复访问,请传递空字符串。

formInstanceNumber 可选

表单实例号。

要引用非重复表单,请传递空字符串。

repeatFormNumber 可选

重复表单编号以引用两个部分表单上的项。

返回值

相应数据类型中的问题值,如果没有值,则为空。

注:

即使已删除实例也会返回该值。
问题类型 返回的数据类型详细信息。
日期 如果变量是部分日期,则返回的变量值将是一个 C1Date 对象,如果变量是完整日期,则将是一个 Date 对象。

有关其他信息,请参阅在自定义规则中处理部分日期

注:

使用日期项时,必须包括空值检查。有关详细信息,请参阅示例。

选择控件:
  • 复选框
  • 单选按钮
  • 下拉列表
返回的变量值是 JSON 格式的字符串:
"[{\"value\":\"3\",\"label\":\"TestLabel\"}]"
可以使用 JSON.parse 或辅助函数 parseChoice 对此进行语法分析。
  • parseChoice(result))
  • JSON.parse(result))

示例

示例 3-96 在 2 部分表单中使用 getQuestionValue

要对 2 部分表单的表行中的项使用 getQuestionValue,语法如下:

getQuestionValue('ruleVariable', eventInstanceNumber, repeatNumber, formInstanceNumber)
// Get a value from an item in a flat form
return (getQuestionValue('text1');
 
 
// Get a value from an item in repeating form instance #1
// Pass an empty string to eventInstance
return (getQuestionValue('text1', '', 1);
 
 
// Get a value from a flat form in unscheduled visit instance #1
// Pass an empty string to eventInstance
return (getQuestionValue('text1', 1, '');
 
 
// Get a date value from a flat form
var res = getQuestionValue('dt1');
if(res !== null) {
  return res.getFullYear();
} else {
  // do nothing
  return;
}
 
 
//In a 2-section form, get a value from Form 2, Table Row 3:
return getQuestionValue('v2', '', 3, 2);