在jquery的输入框中设置自动小数不起作用

时间:2016-10-19 06:14:13

标签: jquery decimal

大家好我是jquery的新手我创建了一些输入框,并希望当有人输入某个值或数据库的输入获取值时,它会自动添加小数到2我应用此代码但是它不能正常工作帮助我< / p>

&#13;
&#13;
         ?>
         <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;
&#13;
&#13;

3 个答案:

答案 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. 切勿将标记与javascript混合使用。尝试绑定您的事件更改/点击javascript结束
  2. 在你的setvalue方法代码中,你传递的事件作为参数并试图访问this.value,这里将引用window对象
  3. 希望这有帮助

答案 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>