4

JavaScript を使用して Calendar Extender で土曜日と日曜日を無効にする方法を教えてください。

現在、このページの読み込みのように、コードビハインドを使用して前の日付を無効にしています。

public partial class TESTING : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        txtDelivery_CalendarExtender.StartDate = DateTime.Now;
    }
}

ASP.NET コントロール

<asp:TextBox ID="txtDelivery" runat="server"></asp:TextBox>

<asp:CalendarExtender ID="txtDelivery_CalendarExtender" runat="server" 
    PopupButtonID="ImageButton1" TargetControlID="txtDelivery" >
</asp:CalendarExtender>

<asp:ImageButton ID="ImageButton1"
    runat="server" ImageUrl="~/Images/Calendar.png" />

<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>  

また、今日から特定の範囲を無効にしたいと思います。

たとえば、今日が 2012 年 11 月 4 日で、10 日間の営業日を希望する場合、11 月 4 日から 14 日までの日付は無効にする必要があります。

前もって感謝します。

4

2 に答える 2

2

週末を無効にするには、以下のようにコントロール マークアップを変更します。

<asp:CalendarExtender ID="txtDelivery_CalendarExtender" runat="server" 
    PopupButtonID="ImageButton1" TargetControlID="txtDelivery" OnClientShown="DisableWeekend" >
</asp:CalendarExtender>

そして、次のJavaScriptを使用してください

function DisableWeekend(sender, args) {
        $(".ajax__calendar_day[title*='Saturday'],.ajax__calendar_day[title*='Sunday']").each(function () {
            $(this).parent().addClass('ajax__calendar_invalid');
        });
}

JavaScript を使用してカレンダー コントロールの機能をきめ細かく制御する必要がある場合は、CalendarBehavior.js ファイルを詳しく調べることをお勧めします。

于 2012-11-04T21:03:39.983 に答える
0

これらを試すことができます:

Javascript

function DisableWeekends(sender, args)
{
     for(var i=0; i<sender._days.all.length; i++)
    {
              for(var j=0; j<6; j++)
             {
                    if(sender._days.all[i].id == “calendarValidToDate_day_”+j+”_0″)
                   {
                          sender._days.all[i].disabled = true;
                          sender._days.all[i].innerHTML = “&lt;div>” +sender._days.all[i].innerText+ “&lt;/div>”;
                    }

                    if(sender._days.all[i].id == “calendarValidToDate_day_”+j+”_6″)
                   {
                            sender._days.all[i].disabled = true;
                            sender._days.all[i].innerHTML = “&lt;div>” +sender._days.all[i].innerText+ “&lt;/div>”;
                   }
            }
     }
}

.aspx

<asp:TextBox ID=”txtDate” Enabled=”true” runat=”server” Width=”200px” />
<asp:ImageButton runat=”server” ID=”imageValidToDate” SkinID =”calendarButton” />
<asp:CalendarExtender ID =”calendarValidToDate” runat=”server”
    TargetControlID=”txtDate” Format=”dd/MM/yyyy” PopupButtonID =”imageValidToDate”
    FirstDayOfWeek=”Default” OnClientShown=”DisableWeekends”&gt;
</asp:CalendarExtender>
于 2012-11-08T07:56:06.430 に答える