回发后我的jQuery代码无法正常工作

时间:2015-05-12 07:39:50

标签: c# jquery asp.net postback

我有服务器端按钮。第一次jquery工作正常但下次jQuery没有下降。我在Update Panel中使用jQuery。

下面是我的Jquery代码。

<script type="text/javascript" src="../../js/jquery-ui-1.11.4.min.js"></script> 
<script type="text/javascript">            
(function ($) {
    $('.mv-spinner').spinner(), $('.mv-action').button(),
    $('.table-mv-vouchers').tooltip(), $('.table-mv-vouchers select').selectmenu() 
})(jQuery)
</script> 

此外,我在页面加载功能中使用了我的代码但没有工作。

 protected void Page_Load(object sender, EventArgs e)
 {      
        Page.ClientScript.RegisterStartupScript(typeof(UpdatePanel), "scrg", "<script type='text/javascript' src='../../js/jquery-ui-1.11.4.min.js'></script>");
        Page.ClientScript.RegisterStartupScript(typeof(UpdatePanel), "scr", "<script type='text/javascript'>  (function ($) { $('.mv-spinner').spinner(), $('.mv-action').button(), $('.table-mv-vouchers').tooltip(), $('.table-mv-vouchers select').selectmenu() })(jQuery) </script>");
 }

我将如何解决此问题?回发后jQuery不执行。提前谢谢!

2 个答案:

答案 0 :(得分:9)

您的初始化仅在文档就绪时运行(不在回发上)。由于您将控件放在UpdatePanel中,因此在回发后会更新任何内容。

尝试以下建议

您需要在回发上重新创建Jquery代码,如下所示

<script type="text/javascript"> 
    $(document).ready(function() {
        //jquery code
    });

    var parameter = Sys.WebForms.PageRequestManager.getInstance();

    parameter.add_endRequest(function() {
        //jquery code again for working after postback
    });
</script>

这是解决方案,一旦我遇到同样的问题,并为我工作正常..检查

答案 1 :(得分:2)

更改自:

$('.ClassName').click(function(e) {
/////
});

收件人:

$(document).on("click", ".ClassName", function (e) {
/////
});