大家好我是jquery的新手我创建了一些输入框,并希望当有人输入某个值或数据库的输入获取值时,它会自动添加小数到2我应用此代码但是它不能正常工作帮助我< / p>
?>
<script type="text/javascript">
function setTwoNumberDecimal(event) {
this.value = parseFloat(this.value).toFixed(2);
}
</script>
<?
&#13;
print '<tr><td>';
print fieldLabel('Others Deductions','other_deduction',1).'</td><td>';
print '<input class="sub" onchange="setTwoNumberDecimal(this)" name="other_deduction" id="other_deduction" size="10" value="'.GETPOST("other_deduction").'">';
print '</td></tr>';
&#13;
答案 0 :(得分:1)
检查以下代码段
$(document).ready(function(){
$("#text1").bind('change',function(){
var value=$(this).val();
$(this).val(parseFloat(value).toFixed(2));
})
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="text1" />
希望这有帮助
很少有建议
希望这有帮助
答案 1 :(得分:0)
Everthing是可以的,只需在函数内部使用event而不是。
测试目的纯HTML代码和代码:
function setTwoNumberDecimal(event) {
event.value = parseFloat(event.value).toFixed(2);
}
<input type="text class="sub" onchange="setTwoNumberDecimal(this)" name="other_deduction" id="other_deduction" size="10" value="">
<script type="text/javascript">
function setTwoNumberDecimal(event) {
event.value = parseFloat(event.value).toFixed(2);
}
</script>
<?php print '<tr><td>';
print fieldLabel('Others Deductions','other_deduction',1).'</td><td>';
print '<input class="sub" onchange="setTwoNumberDecimal(this)" name="other_deduction" id="other_deduction" size="10" value="'.GETPOST("other_deduction").'">';
print '</td></tr>';
?>
答案 2 :(得分:0)
你的问题是你正在将一个对象传递给你的javascript函数(这是正确的)但是没有像你应该那样使用它。
代码应如下所示:
function setTwoNumberDecimal(obj) {
obj.value = parseFloat(obj.value).toFixed(2);
}
<tr>
<td>Others Deductions</td>
<td>
<input type="text" class="sub" onchange="setTwoNumberDecimal(this)" name="other_deduction" id="other_deduction" size="10" value="" />
</td>
</tr>