1

这是我的 Javascript:

<script type = "text/javascript" language = "javascript">
  function formatCurrency(num) {
    num = num.toString().replace(/\Rs.|\,/g, '');
    if (isNaN(num))
      num = "0";
    sign = (num == (num = Math.abs(num)));
    num = Math.floor(num * 100 + 0.50000000001);
    cents = num % 100;
    num = Math.floor(num / 100).toString();
    if (cents < 10)
      cents = "0" + cents;
    for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
      num = num.substring(0, num.length - (4 * i + 3)) + ',' + num.substring(num.length - (4 * i + 3));
    return (((sign) ? '' : '-') + num + '.' + cents);
  }
</script>

我正在使用这个脚本在文本框中格式化货币。它适用于所有启用的文本框,但不适用于禁用的文本框,因为在某些事件中文本框中的数量相同。

下面是我的文本框:

<asp:TextBox ID="txtToTSanctioned" runat="server" Text="00.00"
  CssClass="mytextbox" Enabled="False"
  onblur = "this.value=formatCurrency(this.value);"></asp:TextBox>

解决方案是什么?

4

1 回答 1

0

一种方法是为特定的文本框执行它。在您的情况下,它未启用并且值以编程方式设置,您可以在填充后更新它的值:

var oldValue = $('.disabled-textbox').val();
var formattedValue = formatCurrency( oldValue );
$('.disabled-textbox').val( formattedValue );

现在,您只需在填充文本框时执行此代码。另请注意,我使用了类选择器.disabled-textbox,您可能需要将此类添加到您的文本框中,或者使用更智能的选择器来获取所有禁用的文本框。这是显示如何更新文本框的jsfiddle 。

于 2013-08-02T07:00:55.377 回答