【问题标题】:Validating Dates using Calendar Extender and Javascript ASP.NET使用 Calendar Extender 和 Javascript ASP.NET 验证日期
【发布时间】:2012-10-24 09:51:00
【问题描述】:

如何使用 Javascript 在日历扩展器中禁用 周六和周日

现在,我正在使用后面的代码来禁用之前的日期,就像在这个页面加载中一样。

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 日之间的日期应该被禁用。

提前致谢。

【问题讨论】:

    标签: javascript asp.net validation date calendarextender


    【解决方案1】:

    要禁用周末,请修改您的控件标记,如下所示

    <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 文件。

    【讨论】:

    • 感谢您的回复。但是周末仍然可以使用。我已经修改了控制标记,就像您在上面发布的一样。谢谢
    【解决方案2】:

    你可以试试这些:

    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 = “<div>” +sender._days.all[i].innerText+ “</div>”;
                        }
    
                        if(sender._days.all[i].id == “calendarValidToDate_day_”+j+”_6″)
                       {
                                sender._days.all[i].disabled = true;
                                sender._days.all[i].innerHTML = “<div>” +sender._days.all[i].innerText+ “</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”>
    </asp:CalendarExtender>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-17
      • 2015-06-22
      • 1970-01-01
      相关资源
      最近更新 更多