0

我有 2 个输入字段,要求输入开始日期和结束日期。每当填写开始日期时,应更改结束日期的可能性,因此您只能在填写的开始日期后 30 天之前的日期之间进行选择。除了我尝试执行上面解释的第二个块的第二行之外,下面的所有内容都有效。有任何想法吗?(使用 asp.net 和 Jquery)

前端:

<p><asp:TextBox ID="dateStart" runat="server" CssClass="texter" placeholder="<%$ Resources:GlobalResource, startperiode%>" ></asp:TextBox></p>
<p><asp:TextBox ID="dateEnd" runat="server" CssClass="texter" placeholder="<%$ Resources:GlobalResource, eindperiode%>" ></asp:TextBox></p>

查询:

$("#ctl00_ContentPlaceHolder1_dateStart").datepicker({
        dateFormat: "yy-mm-dd",
        minDate: +0,
        onSelect: function () {
            $('label[for=dateStart]').fadeOut("fast");
        }
    });

$("#ctl00_ContentPlaceHolder1_dateStart").change(function () {
    $(this).datepicker('setDate', $(this).datepicker('getDate'));
    $("#ctl00_ContentPlaceHolder1_dateEnd").datepicker('maxDate', $("#ctl00_ContentPlaceHolder1_dateStart").datepicker('getDate') + 30);
}).datepicker({
    dateFormat: "yy-mm-dd",
    onSelect: function () {
        $('label[for=dateStart]').fadeOut("fast");
    }

    });

$("#ctl00_ContentPlaceHolder1_dateEnd").datepicker({
    dateFormat: "yy-mm-dd",
    minDate: +0,
    onSelect: function () {
        $('label[for=dateStart]').fadeOut("fast");
    }
});

$("#ctl00_ContentPlaceHolder1_dateEnd").change(function () {
    $(this).datepicker('setDate', $(this).datepicker('getDate'));
}).datepicker({
    dateFormat: "yy-mm-dd",
    onSelect: function () {
        $('label[for=dateEnd]').fadeOut("fast");
    }
});
4

1 回答 1

1

您需要将它放在 $("#ctl00_ContentPlaceHolder1_dateStart") 日期选择器的“onSelect”函数中。

$("#ctl00_ContentPlaceHolder1_dateStart").datepicker({
        dateFormat: "yy-mm-dd",
        minDate: +0,
        onSelect: function () {
            $('label[for=dateStart]').fadeOut("fast");        

            var startDate = $("#ctl00_ContentPlaceHolder1_dateStart").datepicker('getDate');
            startDate.setDate(startDate.getDate() + 30);
            $("#ctl00_ContentPlaceHolder1_dateEnd").datepicker('option', 'maxDate', startDate );
        }
    });
于 2018-04-03T11:42:10.677 回答