0

JQueryReady関数があります

 $(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;
}

ページの読み込みでうまく機能します。いくつかのテキストボックスがあります。ドロップダウンリストもあります。選択したドロップダウン変更によって前の値をロードしたい場合、それは機能しません。誰か知ってる?返信してください。

宝石

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

おそらく、ポストバック後にキーアップイベントが失われます。最善の策は、.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 に答える