0

我有一个 JQuery Ready 函数

 $(document).ready(function () {
   $('#<%= txtBlockAmount.ClientID %>').keyup(function (e) {            
   $(this).val(addCommasOnKeyPress($('#<%= txtBlockAmount.ClientID %>').val()));
  });

});


function addCommasOnKeyPress(nStr) {
    nStr = nStr.replace(/\,/g, '')
    nStr += '';
    var x = nStr.split('.');
    var x1 = x[0];
    var x2 = x.length > 1 ? '.' + x[1] : '';
    var rgx = /(\d+)(\d{3})/;
    while (rgx.test(x1)) {
        x1 = x1.replace(rgx, '$1' + ',' + '$2');
    }
    return x1 + x2;
}

它在页面加载时效果很好。它有一些文本框。它也有下拉列表。当我想通过 Selected DropDown Change 加载以前的值时,它不起作用。有人认识吗??请回复。

宝石

4

2 回答 2

0

试试这个:

var textb = $('#<%=TextBox.ClientID'%>);
$(document).ready(function () {
            textb.keyup(function (e) {            
                this.val(CustomizeFunction(textb.val()));
            });

        });
于 2013-01-09T07:13:15.663 回答
0

可能,它在回发后失去了 keyup 事件。最好的办法是将它绑定在 .cs page_load 方法中,例如

txtBlockAmount.Attributes.Add("onKeyUp", "javascript:onkeyupmethod()"); 

你的 js 函数看起来像

function onkeyupmethod()
{ 
$('#<%=txtBlockAmount.ClientID'%>).val(addCommasOnKeyPress($('#<%= txtBlockAmount.ClientID %>').val();
}
于 2013-01-09T08:14:47.270 回答