0

jquery と asp.net カレンダー コントロールを使用して年と月を変更しようとしていますが、年を変更できません。カレンダー制御プロパティに問題がある可能性があります。

以下は私のコードです

$(document).ready(function () {

    var cyear = $('#<%=Ddyear.ClientID %>');
    var cmonth = $('#<%=Ddmonth.ClientID %>');

    var cal = $('#<%=Calendar1.ClientID %>');
    cyear.change(function () {
        var item = cyear.val();
        var item2 = cmonth.val();

        item = item + ',' + item2;
        $.ajax({
            type: "POST",
            url: "dashboardQuery.aspx/calanderdates",
            data: '{item:"' + item + '"}',
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (response) {
                var sdate = Date.parse(response.d, "MM/dd/yyyy");
                dates = sdate;
                $('#<%=Calendar1.ClientID %>').attr('VisibleDate', sDate);
            },
            error: function () {
                alert(msg.status);
            }
        });
    });
}); 
4

1 に答える 1

0

VisibleDatejQuery を使用して ASP.Net カレンダーにプロパティを設定することはできません。これはサーバー側のVisibleDateプロパティであるため、生成された HTML にはプロパティがありません。

代わりに、サーバー側で日付を変更するようにコードを変更できます。次のように機能します。

<asp:DropDown runat="server" ID="Ddmonth" OnSelectedIndexChanged="Ddmonth_SelectedIndexChanged" />

分離コード:

protected sub Ddmonth_SelectedIndexChanged(object sender, EventArgs e)
{
    // depending on what is in your drop down list will affect this code
    // this code assumes that you are listing the months by number, e.g. 1 for January, 2 for February, etc.
    int selectedMonth = int.Parse(DdMonth.SelectedValue);
    int monthsToAdd = selectedMonth - Calendar1.VisibleDate.Month;
    Calendar1.VisibleDate = Calendar1.VisibleDate.AddMonths(monthsToAdd);
}
于 2013-07-01T08:42:15.170 に答える