十进制极限jQuery
有人知道我怎样才能把小数限制在2位吗?还有一个问题是,当两个字段中没有值时,它会显示NaN(我宁愿它什么也不显示)。有人能帮助解决这些问题吗 HTML :十进制极限jQuery,jquery,forms,Jquery,Forms,有人知道我怎样才能把小数限制在2位吗?还有一个问题是,当两个字段中没有值时,它会显示NaN(我宁愿它什么也不显示)。有人能帮助解决这些问题吗 HTML : function update($ele) { var n = Number($ele.find('.numerator')[0].value); var d = Number($ele.find('.denominator')[0].value); /* this works but is slightly more
function update($ele) {
var n = Number($ele.find('.numerator')[0].value);
var d = Number($ele.find('.denominator')[0].value);
/* this works but is slightly more verbose (and maybe a bit slower) */
var val = (n / d * 100);
$ele.find('.result').text(( isNaN(val) || ! isFinite(val) ) ? '' : val.toFixed(2));
/* This might be faster, and also make everything a bit more succinct * /
var val = d !== 0 ? n / d * 100 : NaN;
$ele.find('.result').text(isNaN(val) ? '' : val.toFixed(2));
/* */
}
完美的谢谢你的帮助。除了我最初的请求,还有可能停止显示“无限”吗?当您在.momerator字段中键入一个数字,并将.demonator留空时,它会显示单词“infinity”-我宁愿它什么也不显示。更新以处理
infinity
,也非常感谢您的帮助:)@kalley,正如您所说,“这也会让一切变得更加简洁。”
function update($ele) {
var n = Number($ele.find('.numerator')[0].value);
var d = Number($ele.find('.denominator')[0].value);
$ele.find('.result').text(n / d * 100);
}
$('.grade').each(function() {
update($(this));
});
$('.grade input').on('keyup', function() {
update($(this).closest('.grade'));
});
function update($ele) {
var n = Number($ele.find('.numerator')[0].value);
var d = Number($ele.find('.denominator')[0].value);
/* this works but is slightly more verbose (and maybe a bit slower) */
var val = (n / d * 100);
$ele.find('.result').text(( isNaN(val) || ! isFinite(val) ) ? '' : val.toFixed(2));
/* This might be faster, and also make everything a bit more succinct * /
var val = d !== 0 ? n / d * 100 : NaN;
$ele.find('.result').text(isNaN(val) ? '' : val.toFixed(2));
/* */
}