我正在尝试将数字转换为货币,并将该货币值作为负数复制到另一个文本框中。
这里,当第一次触发onblur事件时,它会按预期显示结果,但每次我将焦点放入文本框时 - 它都会添加$ Sign。
所需的输出: -
<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 :(得分: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;的位置标志 - 我可以达到预期的效果。