任何人都知道如何获得以下内容将小数限制为2个位置?还有一个问题是,当两个字段中没有值时它会显示NaN(我宁愿它什么都不显示)。任何人都可以帮助解决这些问题吗?
HTML
<td class="grade">
<input type="text" value="28" class="numerator" /> / <input type="text" value="30" class="denominator" />
<div class="result"></div>
</td>
的jQuery
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'));
});
答案 0 :(得分:3)
<强> fiddle 强>:
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));
/* */
}