我正在尝试实现以下代码,但返回到页面上 id 的值填充了 NaN(不是数字)错误。有人对我能在这里做什么有任何建议吗?我已经为此斗争了一个多小时,因此感谢您的帮助。
setInterval( function(){
var b = $('input#ien_val').val();
var ien;
for (ien = 0; ien < b; ien++) {
var encuser = parseInt($('#enutt'+ien).html());
var enteam = parseInt($('#enttotalday'+ien).html());
var enoffset = (encuser/enteam)*100;
$('#tten' + ien).html(enoffset + '%');
}
},2000);
根据下面的评论,我在这里添加了我的问题示例 http://jsbin.com/tobilonepu/1/
您正在尝试遍历$('#enttotalday'+ien)
但那里只有一个值,因此它导致了问题。 工作代码:
setInterval( function(){
var b = $('input#ien_val').val();
var ien;
for (ien = 1; ien < b; ien++) {
// add parseInt
var encuser = parseInt($('#enutt'+ien).val());
// add parseInt
var enteam = parseInt($('#enttotalday').val());
var enoffset = (encuser/enteam)*100;
$('#tten' + ien).html(enoffset + '%');
}
},2000);
JSBIN在这里 - http://jsbin.com/nivoxuwufa/1/
您应该将 dom 值解析为数字使用 parseInt
或 parseFloat
。基于此,代码应如下所示。
setInterval( function(){
var b = $('input#ien_val').val();
var ien;
for (ien = 0; ien < b; ien++) {
// add parseInt
var encuser = parseInt($('#enutt'+ien).val());
// add parseInt
var enteam = parseInt($('#enttotalday'+ien).val());
var enoffset = (encuser/enteam)*100;
$('#tten' + ien).html(enoffset + '%');
}
},2000);
希望它能帮助你。干杯。
由于您正在执行算术运算,因此您需要确保您拥有的值是 Number
/integer
/float
而不是 string
。 .val()
通常会让你string
.
取代:
var encuser = $('#enutt'+ien).val();
var enteam = $('#enttotalday'+ien).val();
跟:
var encuser = Number($('#enutt'+ien).val());
var enteam = Number($('#enttotalday'+ien).val());
您可以根据需要使用 parseInt()
或 parseFloat()
,而不是 Number()
。
阅读:
-
Number()
|多核 -
parseInt()
|多核 -
parseFloat()
|多核
您必须先将 encuser 和 enteam 转换为数字。尝试这样的事情
setInterval( function(){
var b = $('input#ien_val').val();
var ien;
for (ien = 0; ien < b; ien++) {
var encuser = parseFloat($('#enutt'+ien).val());
var enteam = parseFloat($('#enttotalday'+ien).val());
var enoffset = (encuser/enteam)*100;
$('#tten' + ien).html(enoffset + '%');
}
},2000);
阅读更多关于parseInt,parseFloat和Number的信息:
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number
- https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/parseInt
- https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/parseFloat
更新
工作: http://jsbin.com/mezamakopi/2/edit