2016-12-01 53 views
0

我試圖將數字轉換爲貨幣並將該貨幣值作爲負數複製到另一個文本框中。JavaScript將數字轉換爲貨幣並將負值貨幣複製到另一個文本框中

這裏,當第一次觸發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); 

    } 

之所以使用父元素是我需要多個文本框相同的功能。

謝謝。

回答

0

在這裏,我需要檢查的$位置標誌 -

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,"); 
     } 

通過檢查「$」符號的位置 - 我能達到預期的效果。