87,991
社区成员
发帖
与我相关
我的任务
分享
function score(items,field,showValue){
for(var i = 0 ; i < (items.length; i++){//循环条件
var sum = 0;
for(var j = 0 ;j < (items[i]['items'].length;j++){ //获取每个条件中的所有组件编号
sum+=window['xf'+(items[i]['items'][j]]; //根据组件编号求和
}
eval('if(!(sum'+items[i]['condition']+'value))return;');//之前用的switch,这个不知道行不行,条件都是并存,如果有一个不匹配就返回
}
field.value = showValue; //如果没有返回说明条件通过,则将接受的组件赋值
}
for(var i = 1;i <= 90;i++){//循环初始化变量
window['xf'+i]=0;
}
for(var i = 1;i <= 90;i++){//循环组件
for(var j = 0;j <= 4 ;j++){ //循环每个组的组件,已知为5个
if(form['c'+i][j]==1){//如果组件被选择则返回,否则对应变量自增
break;
}else{
window['xf'+i]++;
}
}
}
//具体调用,单个条件
score(
[{
'items':[1,4,12,27,40,42,48,49,52,53,56,58],
'condition':'<',
'value':12
}],form.answer1,'躯体症状表现不明显。');
//具体调用,两个条件
score(
[{
'items':[1,4,12,27,40,42,48,49,52,53,56,58],
'condition':'>=',
'value':12
},{
'items':[1,4,12,27,40,42,48,49,52,53,56,58],
'condition':'<=',
'value':24
}],form.answer1,'躯体症状表现中等。');
function score(items,field,showValue){
for(var i = 0 ; i < (items.length; i++){
var sum = 0;
for(var j = 0 ;j < (items[i]['items'].length;j++){
sum+=window['xf'+(items[i]['items'][j]];
}
switch(items[i]['condition']){
case '=':
if(sum != items[i]['value'])return;
break
case '>':
if(sum <= items[i]['value')return;
break
case '<':
if(sum >= items[i]['value')return;
break
case '>=':
if(sum < items[i]['value')return;
break
case '<=':
if(sum > items[i]['value')return;
break
}
}
field.value = showValue;
}
for(var i = 1;i <= 90;i++){
window['xf'+i]=0;
}
for(var i = 1;i <= 90;i++){
for(var j = 0;j <= 4 ;j++){
if(form['c'+i][j]==1){
break;
}else{
window['xf'+i]++;
}
}
}
score(
[{
'items':[1,4,12,27,40,42,48,49,52,53,56,58],
'condition':'<',
'value':12
}],
form.answer1,'躯体症状表现不明显。');
score(
[{
'items':[1,4,12,27,40,42,48,49,52,53,56,58],
'condition':'>=',
'value':12
},{
'items':[1,4,12,27,40,42,48,49,52,53,56,58],
'condition':'<=',
'value':24
}],
form.answer1,'躯体症状表现中等。');