confirmit中set()方法

/* 单选题圈选与清空 */
f('A1').set('1')  /* A1题选中code==1   */
f('A1').set(null) /* A1题清空选中的内容 */

/* 多选题圈选与清除已经选中的某些选项 */
f('A2')['2'].set('1')  /* A2题选中code==2   */
f('A2')['2'].set(null) /* A2题清除已经选中的code==2 */

当A2的选项是A1选项的母集,不询问A2, 直接把A1选中的选项赋值给A2。

var codes=f('A1').categories();
for(var i=0; i<codes.length; i++){
    f('A2')[codes[i]].set('1')
}

//如果是在A2题之前执行赋值 则可以使用如下代码
f('A2').set(f('A1'))

/*  为何要在题前才能使用此代码呢?  
    因为如果在题后执行赋值代码  f('A2').set(f('A1'))  时会先清空 A2题,再把 A1的答案赋值给A2。
    这样一来A2题人为选中的答案就会丢失。
*/

这个题后 圈选会清除 人为选中答案 的发现多亏了 bert 同事,哈哈哈。   能接触到confirmit的同行有兴趣可以多去看看官方文档资料。

记录于2020/12/18。

原文地址:https://www.cnblogs.com/FlyingLiao/p/14154305.html