问题描述
我正在使用 SurveyJS 上的“问题间共享数据” 示例。
我要问的不是“雇主”,而是问每个公司的营业时间。
要复制该问题,您需要输入2个或更多的业务。在下一页上,如果第一个布尔值问题回答为“真”,则开放时间问题“可见”。
这对于第一个业务来说效果很好,但是,随后的业务则不考虑第一个布尔结果,而不是他们自己的布尔结果。
意思是“可见的if”条件仅适用于第一笔生意,如果后续的生意对布尔型回答“否”,这并不影响营业时间问题对他们的显示。
我认为问题是因为“ visbleif”是针对性的 businesses(0).seperateopeninghours ,即由于 0 部分始终查看集合中的第一项。
该数字是否可以根据您正在寻找的业务而改变?
{
"pages":[
{
"name":"page1","elements":[
{
"type":"matrixdynamic","name":"BusinessName","title":"Enter Business name(s)","valueName":"businesses","isrequired":true,"columns":[
{
"name":"BusinessName","title":"Name of business","cellType":"text","isrequired":true
}
],"rowCount":1,"minRowCount":1,"addRowText":"Add another business"
}
],"title":"CoMap Business Profiler"
},{
"name":"page2","elements":[
{
"type":"paneldynamic","name":"arrray_employer_info","title":"Your businesses","templateElements":[
{
"type":"boolean","name":"SeparateOpenning","title":"does {panel.BusinessName} have different opening hours?"
},{
"type":"matrixdropdown","name":"OpenClosed1","visibleIf":"{businesses[0].SeparateOpenning} = true","title":"Which days is {panel.BusinessName} open?","columns":[
{
"name":"Closed","title":"Open or Closed?","cellType":"boolean","labelTrue":"Closed","labelFalse":"Open"
}
],"rows":[
"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"
]
},"name":"openingHours1","startWithNewLine":false,"title":"Please enter the opening hours for {panel.name}.","hideNumber":true,"columns":[
{
"name":"opening Time","inputType":"time"
},{
"name":"Closing Time","inputType":"time"
}
],"rows":[
{
"value":"Monday","visibleIf":"{businesses[0].OpenClosed1.Monday.Closed} = '[object Object]'"
},{
"value":"Tuesday","visibleIf":"{businesses[0].OpenClosed1.Tuesday.Closed} = false"
},{
"value":"Wednesday","visibleIf":"{businesses[0].OpenClosed1.Wednesday.Closed} = false"
},{
"value":"Thursday","visibleIf":"{businesses[0].OpenClosed1.Thursday.Closed} = false"
},{
"value":"Friday","visibleIf":"{businesses[0].OpenClosed1.Friday.Closed} = false"
},{
"value":"Saturday","visibleIf":"{businesses[0].OpenClosed1.Saturday.Closed} = false"
},{
"value":"Sunday","visibleIf":"{businesses[0].OpenClosed1.Sunday.Closed} = false"
}
]
}
],"templateTitle":"Business name: {panel.BusinessName}","allowAddPanel":false,"allowRemovePanel":false
}
],"title":"xxx"
}
]
}
解决方法
每个创建的面板对应于1个业务实例-因此交换
“ {businesses [0] .SeparateOpenning} = true”,
为
{panel.SeparateOpenning} = true”