Javascript不适用于禁用的文本框

时间:2013-08-02 06:45:17

标签: javascript asp.net textbox

这是我的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>

解决方案是什么?

1 个答案:

答案 0 :(得分:0)

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

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

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