关于如何从变量中保存的复选框数据生成总计的建议

时间:2018-12-07 00:09:33

标签: javascript

我正在设计PDF租赁协议,可以以电子方式将其发送给希望租赁设备的客户。我目前有两个日历日期,可以从中选择一个日历日,在下面显示一整天的已用时间框。 该代码是这样工作的,并且是完美无瑕的:

// get the end date value
var cEnd = this.getField("Drop off Date").value
// get the start date value
var cStart = this.getField("pick up date_af_date").value;
// clear  displayed result
event.value = "";
// compute number of days only if there are values for both dates
if(cEnd != "" & cStart != '') {
// convert date strings to objects
var oEnd = util.scand("m/d/yyyy H:MM:SS", cEnd + " 0:00:00");
var oStart =util.scand("m/d/yyyy H:MM:SS", cStart + " 0:00:00");
// convert into days since epoch date
var nEnd = Math.floor(Number(oEnd) / (1000 * 60 * 60 * 24));
var nStart = Math.floor(Number(oStart) / (1000 * 60 * 60 * 24));
// compute difference
event.value = nEnd - nStart;
} // end calculation

现在,我有一个复选框,将每天的租金金额(0,20,30,40)乘以一天,然后将结果放入一个显示人员租金的文本框中。 代码如下:

var cb1 = this.getField("Check Box1").isBoxChecked("0");
var cb2 = this.getField("Check Box3").isBoxChecked("0");
var cb3 = this.getField("Check Box4").isBoxChecked("0");
var cb4 = this.getField("Check Box5").isBoxChecked("0");
var cb5 = this.getField("Check Box6").isBoxChecked("0");
var cb6 = this.getField("Check Box7").isBoxChecked("0");
var cb7 = this.getField("Check Box8").isBoxChecked("0");
if (cb1 && cb2 && cb3 && cb4 && cb5 && cb6 && cb7) {
event.value = "off";
}

else if (cb1){ event.value=this.getField("Totaldays").value*0;
}
else if (cb2){ event.value=this.getField("Totaldays").value*30;
}
else if (cb3){ event.value=this.getField("Totaldays").value*20;
}
else if (cb4){ event.value=this.getField("Totaldays").value*0;
}
else if (cb5){ event.value=this.getField("Totaldays").value*40;
}
else if (cb6){ event.value=this.getField("Totaldays").value*0;
}
else if (c7){ event.value=this.getField("Totaldays").value*0;

我的问题是,如果选择了多个复选框,我希望它添加复选框总数。例如,如果cb2和cb3都使用了5天,则将为30 * 5加20 * 5,并将总计显示在文本框中。现在,它在文本框中显示每个单独的方程式,只是缺少添加。我几乎没有经验,虽然能够复制和配置这些代码以使其正常工作,但是在此下一个功能上停留了一段时间。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

在您将if cb1 ... cb7设置为0之前

event.value = 0

如果语句更改,则在每个其他else中

event.value = this.getField...

event.value += this.getField...