使用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'
});
});
});
首次点击文本框时,我无法获得日期选择器 这段代码有什么问题?
答案 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处理程序触发,即使是第一次单击也会显示。