JavaScript将数字转换为货币并将负数货币复制到另一个文本框中

时间:2016-12-01 04:32:45

标签: javascript c# jquery html asp.net

我正在尝试将数字转换为货币,并将该货币值作为负数复制到另一个文本框中。

这里,当第一次触发onb​​lur事件时,它会按预期显示结果,但每次我将焦点放入文本框时 - 它都会添加$ Sign。

所需的输出: -

enter image description here

<td> <asp:TextBox CssClass="from" runat="server" Text="$0.00" BackColor="Yellow" onkeyup="javascript:copy(event)" onblur="javascript:currency(event)" /> </td> <td> <asp:TextBox ID="TextBox2" CssClass="to" runat="server" Text="$0.00" ClientIDMode="Static" BackColor="Yellow"></asp:TextBox> </td>

JavaScript功能:

function copy(event) {

        var parentRow = $(event.target).parents('tr');

        var fromVal = parentRow.children('td').find('.from').val();

        parentRow.children('td').find('.to').val(fromVal);

    }



    function currency(event) {

        var parentRow = $(event.target).parents('tr');

        var val1 = parentRow.children('td').find('.from').val();

        var number = '$' + val1.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,");

        parentRow.children('td').find('.from').val(number);

        var buyerNumber = '($' + val1.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,") + ')';

        parentRow.children('td').find('.to').val(buyerNumber);

    }

使用父元素的原因是我需要多个文本框的相同功能。

谢谢。

1 个答案:

答案 0 :(得分:0)

在这里,我需要检查$ Sign的位置 -

var reloadScripts = function(){
    var len = LOCALBROWSEVARIABLES.filesToReload.length;
    for (var i = 0; i < len; i++){
        reload_js(LOCALBROWSEVARIABLES.filesToReload[i]);
    }
}

function reload_js(src) {
    $('script[src="' + src + '"]').remove();
    $('<script>').attr('src', src).appendTo('head');
}

通过检查&#34; $&#34;的位置标志 - 我可以达到预期的效果。