代码之家  ›  专栏  ›  技术社区  ›  codeandcloud

jquery ui datepicker在asp:mutiview中不工作

  •  0
  • codeandcloud  · 技术社区  · 14 年前

    使用ASP.NET 3.5 C,jquery.1.4.2,jquery-ui-1.8.2编码

    我的文本框位于ASP:MultiView的第四个ASP:View中,该视图在页面加载时未处于活动状态。
    我的页面也是带有母版页的内容页。文本框的创建方式如下

    <asp:TextBox ID="txtStartDate" runat="server" 
            CssClass="datePicker" 
            MaxLength="20" 
            ReadOnly="true" 
            Width="70px" />
    

    日期选择器的调用方式如下

    $(document).ready(function () {
        $('.datePicker').live('click', function () {
            $(this).datepicker({ 
                showOn: 'focus',
                changeMonth: true,
                dateFormat: 'dd/mm/yy',
                minDate: '+0d',
                maxDate: '+1y'
                });
        });
    });
    

    第一次单击文本框时无法获取日期选取器。
    这个代码有什么问题?

    1 回复  |  直到 14 年前
        1
  •  2
  •   Nick Craver    14 年前

    它没有显示 第一 时间是因为 focus 事件已触发,因此需要再次触发它,以便 集中 激发并显示日期选择器,如下所示:

    $(document).ready(function () {
        $('.datePicker').live('click', function () {
            $(this).datepicker({ 
                showOn: 'focus',
                changeMonth: true,
                dateFormat: 'dd/mm/yy',
                minDate: '+0d',
                maxDate: '+1y'
            }).focus();           //add this
        });
    });
    

    You can give it a try here . 打电话 .focus() 将再次激发事件,导致事件上的日期选取器处理程序激发,并将显示,即使是第一次单击。