JQuery UI Datepicker在asp:MultiView中不起作用

时间:2010-09-05 06:39:54

标签: asp.net jquery jquery-ui datepicker

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

我的文本框位于第四个asp:在PageLoad上未激活的asp:MultiView视图 我的页面也是一个包含母版页的内容页面。文本框的创建方式与

类似
<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 个答案:

答案 0 :(得分:2)

它没有显示第一个时间,因为focus事件已经被触发,所以你需要再次触发它,以便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()将再次触发事件,导致事件上的datepicker处理程序触发,即使是第一次单击也会显示。