十进制限制jQuery [重复]
Posted
技术标签:
【中文标题】十进制限制jQuery [重复]【英文标题】:Decimal limit jQuery [duplicate] 【发布时间】:2013-08-09 05:08:56 【问题描述】:有谁知道我怎样才能得到以下内容以将小数限制为 2 位?还有一个问题是当两个字段中没有值时它显示 NaN (我宁愿它什么都不显示)。谁能帮忙解决这些问题?
<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'));
);
【问题讨论】:
【参考方案1】: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));
/* */
【讨论】:
完美!感谢您的帮助。 除了我原来的要求之外,是否可以停止显示“无穷大”?当您在 .numerator 字段中输入一个数字并将 .denominator 留空时,它会显示单词“infinity” - 我宁愿它什么也不显示。 更新了Infinity
非常感谢您的帮助:)
@kalley 正如你所说,“它也会让一切变得更简洁”以上是关于十进制限制jQuery [重复]的主要内容,如果未能解决你的问题,请参考以下文章
使用 JavaScript/jQuery 从输入类型“文件”中获取二进制图像数据,以便在 WebMatrix 中使用 AJAX 进行图片预览 [重复]