jQuery脚本在文本框中显示NaN,如何删除NaN?

jQuery脚本在文本框中显示NaN,如何删除NaN?,jquery,Jquery,我正在使用下面的jQuery脚本计算开始时间和停止时间之间的小时数,并在文本框中填充该值。正如您在下图中所看到的,问题是一旦表单被拉起,lineTotal文本框就已经填充了NaN,我希望它消失。我不确定我需要在代码中的什么地方进行修改 $(函数(){ 函数计算(){ var start=$(“.start1”).val().split(“:”); stop=$(“.stop1”).val().split(“:”); var hours1=parseInt(开始[0],10); hours2=p

我正在使用下面的jQuery脚本计算开始时间和停止时间之间的小时数,并在文本框中填充该值。正如您在下图中所看到的,问题是一旦表单被拉起,lineTotal文本框就已经填充了NaN,我希望它消失。我不确定我需要在代码中的什么地方进行修改

$(函数(){
函数计算(){
var start=$(“.start1”).val().split(“:”);
stop=$(“.stop1”).val().split(“:”);
var hours1=parseInt(开始[0],10);
hours2=parseInt(停止[0],10);
mins1=parseInt(开始[1],10);
mins2=parseInt(停止[1],10);
var小时=小时2-小时1,分钟=0;
如果(小时<0)小时=24+小时;
如果(分钟2>=分钟1){
分钟=分钟2-分钟1;
}否则{
分钟=(分钟2+60)-分钟1;
小时--;
}
分钟=分钟/60;//以60为单位计算百分比
小时+=分钟;
小时=固定的小时数(2);
$(“.lineTotal1”).val(小时);
}
$(.start1.stop1”)。更改(计算);
计算();
});
#formInput{
背景:#FFFFCC;
细胞间距:0;
细胞填充:0;
边界塌陷:塌陷;
边框间距:0;/*单元格间距*/
}
.auto-style8{
边框样式:实心;
边框宽度:1px;
背景色:#A5C4F1;
}

开始
停止
行总数

问题是因为默认情况下,
parseInt()
对框中的空值执行的结果是
NaN
。要解决此问题,可以通过在使用的每行末尾使用
parseInt()
,将其强制为
0
,如下所示:

$(函数(){
函数计算(){
var start=$(“.start1”).val().split(“:”);
stop=$(“.stop1”).val().split(“:”);
var hours1=parseInt(开始[0],10)| | 0;
hours2=parseInt(停止[0],10)| | 0;
mins1=parseInt(开始[1],10)| | 0;
mins2=parseInt(停止[1],10)| | 0;
var小时=小时2-小时1,分钟=0;
如果(小时<0)
小时=24小时以上;
如果(分钟2>=分钟1){
分钟=分钟2-分钟1;
}否则{
分钟=(分钟2+60)-分钟1;
小时--;
}
分钟=分钟/60;//以60为单位计算百分比
小时+=分钟;
小时=固定的小时数(2);
$(“.lineTotal1”).val(小时);
}
$(.start1.stop1”)。更改(计算);
计算();
});
#formInput{
背景:#FFFFCC;
边界塌陷:塌陷;
边界间距:0;
}
.auto-style8{
边框样式:实心;
边框宽度:1px;
背景色:#A5C4F1;
}
表th{
宽度:57px;
高度:22px;
}

开始
停止
行总数

谢谢Rory,我在发帖前试过了,但没能成功。我在代码片段中看到了它的工作原理,但当我对代码进行更改并在服务器上运行它时,我仍然得到了NaN。我想我会按照你的回答去做,弄清楚是什么导致了这个问题。再次感谢您的快速回复。