单击按钮后,JQuery Ready功能不起作用

时间:2013-01-09 07:03:43

标签: jquery

我有一个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;
}

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

宝石

2 个答案:

答案 0 :(得分:0)

试试这个:

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

        });

答案 1 :(得分:0)

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

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

你的js功能看起来像

function onkeyupmethod()
{ 
$('#<%=txtBlockAmount.ClientID'%>).val(addCommasOnKeyPress($('#<%= txtBlockAmount.ClientID %>').val();
}