0

如果我这样做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;
            }

        });
4

1 回答 1

2

尝试:

 defaultDate:  $.datepicker.parseDate('dd/mm/yy', $(this).parents().find("span:first").text())

干杯。

于 2012-11-09T12:25:19.920 回答