zoukankan      html  css  js  c++  java
  • jQuery和UpdatePanel兼容的问题

      今天老大分配了一个任务,将一个ascx页面中的dateCalendar换成jQuery中datePicker,我在添加了ID为dateCalendar文本框后,添加了如下的jQuery。

    <script language="javascript">
        $(document).ready(function(){
            $("#<%=dateCalendar.ClientID %>").datepicker();
        });
    </script>

      我在运行代码的时候,开始点击文本框,会弹出日历控件,但是,在操作了与Ajax相关的控件后(部分回发页面获取该网页的数据),UpdatePanel使页面部分更新后,点击日历文本框,日历控件就不会弹出来了。

    对于这个问题,我在网上找到了解决方法。

      方法一:

    <scriptlanguage="javascript">
          $(document).ready(function()
          {
                 $("#<%=dateCalendar.ClientID %>").datepicker();
          }); 
          function pageLoad(sender, args)
          {
          if(args.get_isPartialLoad())
          {
                 $("#<%=dateCalendar.ClientID %>").datepicker();
          }
    }
    </script>

      原理:上面的代码片断中添加了一个函数调用pageLoad的,在每次页面加载时、页面的部分或全部回传时激发。那么与Ajax相关的控件被点击时,pageLoad就会被激发。

    方法二:

    <scriptlanguage="javascript">
        function pageLoad(sender, args)
        {
               $("#<%=dateCalendar.ClientID %>").datepicker();
        }
    </script>

      或:

    <scriptlanguage="javascript">
        Sys.Application.add_load(FirejQuery);
        function FirejQuery()
        {
              $("#<%=dateCalendar.ClientID %>").datepicker();
        }
    </script>

    参考博文:

    http://blog.163.com/renlee_1007/blog/static/225358620116203403011/

     

  • 相关阅读:
    最大比例(压轴题 )
    HDU-1016-素数环
    HDU-1241-油藏
    POJ-2251-地下城
    UVa-12096-集合栈计算机
    UVa-156-反片语
    UVa-10815-安迪的第一个字典
    UVa-101-木块问题
    UVa-10474-大理石在哪
    HDU-2955-Robberies
  • 原文地址:https://www.cnblogs.com/huangbx/p/2633096.html
Copyright © 2011-2022 走看看