[c#]JavaScript 将数字转换成货币和副本负货币到另一个文本框

发布时间: 2017/2/24 23:37:43
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我试图将数字转换成货币和将该货币价值为负数复制到另一个文本框。

在这里,当 onblur 事件触发第一次,它显示结果,如下预期但每次我把焦点放到文本框 — — 它添加 $ 符号。

所需输出:-

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:

在这里,我需要检查 $ 符号-位置

var val1 = parentRow.children('td').find('.textbox-seller').val();

        if(val1.indexOf("$") != 0){
            var number = '$' + val1.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,");
        }
        else {
            number = val1.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,");
        }

通过检查的位置的"$"符号-我可以达到预期的效果。

官方微信
官方QQ群
31647020