如果我这样做alert($(this).parents().find("span:first").html())
,它会显示03/28/2011
如果我查看源代码<span id="ctl00_ContentPlaceHolder1_GridView1_ctl03_StDt">03/28/2011</span>
如果我在日期选择器中设置 defaultDate
defaultDate: new Date($(this).parents().find("span:first").html()),
默认为 1969 年 12 月 31 日
编辑 在下面 vtortola 的解决方案的帮助下,我明白了。我需要解析日期并检查是否有空跨度。
var myDate = null;
var minDate = null;
$(".StartDateImg").datepicker({
beforeShow: function (input, inst) {
myDate = null;
if ($(this).parents().find("span:first").html().length > 1) {
myDate = $.datepicker.parseDate("mm/dd/yy", $(this).parents().find("span:first").html());
$(this).parents().find("input:first").datepicker('option', 'defaultDate', myDate);
}
minDate = null;
if ($(this).parents().closest('tr').find('td:last').length > 1) {
minDate = $.datepicker.parseDate('mm/dd/yy', $(this).parents().closest('tr').find('td:last').html())
$(this).parents().find("input:first").datepicker('option', 'minDate', minDate);
}
},
duration: '',
showTime: false,
constrainInput: false,
onSelect: function (dateText) {
$(this).parents().find("span")[0].innerHTML = dateText;
}
});