您好我有下表
<table id="rates">
<tr id="r1" class="edited">
<td><input type="text" name="f11" value="10" /></td>
<td><input type="text" name="f12" value="20" /></td>
</tr>
<tr id="r2">
<td><input type="text" name="f21" value="50" /></td>
<td><input type="text" name="f22" value="60" /></td>
</tr>
<tr id="r3" class="edited">
<td><input type="text" name="f31" value="100" /></td>
<td><input type="text" name="f32" value="200" /></td>
</tr>
</table>
输入文字更改后,我将.edited
添加到tr
。我想要的是,我希望在任何文本更改后将.edited
行中的所有值修复为两位小数。我该如何实现呢? Plz帮助。
答案 0 :(得分:1)
当您确认新编辑的值时,只应用.toFixed()
方法指定小数点后您想要的位数。此方法应用于number
值,因此在使用该方法之前,只需执行值{1}}的值
请参阅https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Number/toFixed
答案 1 :(得分:0)
你可以做到
$('input').change(function(){
$(this).closest('tr').addClass('edited');
$('tr.edited input').each(function(){
this.value = Math.round(this.value*100)/100;
});
});
答案 2 :(得分:0)
jQuery('input').change(function(){
var $row = jQuery('.edited');
var values = $row.find("input:text").map(function() {
return jQuery(this).val();
}).get();
$row.each(function() {
jQuery(this).find("input:text").each(function(index) {
var val = values[index];
jQuery(this).val(Number(val).toFixed(2));
});
});
});