如何用润乾报表做单选打分类选择题

在大型电子商务平台不难见到对平台满意度的调查,例如对售后态度的调查,这些选择题有一个特点,多个选项,在没有做出选择填写分数时,各个选项都可以写,但是一旦做出选择后,本题的剩余选择不可以填写,除非清空本题的选中数据。如果只是选择题,可以用润乾报表里的单选按钮去实现,可是如果涉及到对每一项进行打分的情况,单选按钮则不适用了。本文简单介绍一下,如何用javaScript去实现类似单选打分类型选择题。

第一步:制作一张报表;

第二步:用_cellValueChanged监听每一个单元格,当单元格内容发生改变后,设置其余四个选择不可写。

function _cellValueChanged(cell){

var val1=cell.id.substr(8,1);

if(cell.id.substr(8,1)==”B” && (cell.value==1 || cell.value==null || cell.value==”)){

if(cell.id.length==10){

var val2=cell.id.substr(9,1);

}else{

var val2=cell.id.substr(9,2);

}

//alert(cell.value);

var val3=document.getElementById()

for(var i=67;i<=69;i++){

var col=String.fromCharCode(i);

//alert(“col====”+col);

var cellid=”report1_”+col+val2;

if(cell.id.substr(8,1)==”B” && cell.value==1){

document.getElementById(cellid).writable = false;

}else{

document.getElementById(cellid).writable = true;

}

}

}

else if(cell.id.substr(8,1)==”C” && (cell.value==1 || cell.value==null || cell.value==”)){

if(cell.id.length==10){

var val2=cell.id.substr(9,1);

}else{

var val2=cell.id.substr(9,2);

}

for(var i=68;i<=69;i++){

var col=String.fromCharCode(i);

var cellid=”report1_”+col+val2;

if(cell.id.substr(8,1)==”C” && cell.value==1){

document.getElementById(cellid).writable = false;

document.getElementById(“report1_B”+val2).writable = false;

}else{

document.getElementById(cellid).writable = true;

document.getElementById(“report1_B”+val2).writable = true;

}

}

}

else if(cell.id.substr(8,1)==”D” && (cell.value==1 || cell.value==null || cell.value==”)){

if(cell.id.length==10){

var val2=cell.id.substr(9,1);

}else{

var val2=cell.id.substr(9,2);

}

for(var i=66;i<=67;i++){

var col=String.fromCharCode(i);

var cellid=”report1_”+col+val2;

if(cell.id.substr(8,1)==”D” && cell.value==1){

document.getElementById(cellid).writable = false;

document.getElementById(“report1_E”+val2).writable = false;

}else{

document.getElementById(cellid).writable = true;

document.getElementById(“report1_E”+val2).writable = true;

}

}

}

}

注:以上是部分代码。

预览效果如下:

如图所示:当办公室的服务态度没有被选中时,ABCD四个选项都可以选,但是当A被选中后,BCD都不可写,只有当A里的值被删除后,ABCD又都回复可写。

热门文章