如何在ASP.Net中获得多个日期选择器?

时间:2017-04-13 15:06:02

标签: c# asp.net datepicker

   <link href="Styles/calendar-blue.css" rel="Stylesheet" type="text/css" />
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script src="Scripts/jquery.dynDateTime.min.js" type="text/javascript"></script>
<script src="Scripts/calendar-en.min.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $("#<%=TextBox1.ClientID %>").dynDateTime({
            showsTime: true,
            ifFormat: "%Y/%m/%d %H : %m",
            daFormat: "%l;%M %p, %e %m, %Y",
            align: "BR",
            electric: false,
            singleclick: false,
            displayarea: ".siblings('.dtcDisplayArea')",
            button: ".next()"
        });
    });
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
 <asp:Label ID="lblerrormsg" runat="server" Text="Error Message" Visible="False"></asp:Label>
<div>
<fieldset class="borrowing">
    <legend>Borrowing</legend>
    <asp:Label ID="Label5" runat="server" Text="Loan Date" Font-Bold=true></asp:Label>
    <br />
    <asp:TextBox ID="TextBox1" runat="server" Width="193px" Height="25px"></asp:TextBox>
    <img src="Images/Images/calender.png" />
         <%--<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
    ControlToValidate="TextBox1" ErrorMessage="Loan Date Required"></asp:RequiredFieldValidator>--%>
    <br />
    <asp:Label ID="Label6" runat="server" Text="Due Date" Font-Bold=true></asp:Label>
    <br />
     <asp:TextBox ID="TextBox2" runat="server" Width="193px" Height="25px"></asp:TextBox>
    <img src="Images/Images/calender.png" />
      <%--<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
    ControlToValidate="TextBox2" ErrorMessage="Due Date Required"></asp:RequiredFieldValidator>--%>
    <br />    

所以我使用的代码是让datepicker在ASP.Net上运行。但问题是,如果我希望多个文本框在一个表单中包含一个日期选择器,它将不起作用。我尝试过处理代码并将Textbox1更改为Textbox2,但没有运气。如何使用此代码以相同的形式获得两个日期选择器?

3 个答案:

答案 0 :(得分:0)

您可以将类分配给您想要成为日期选择器的文本框。然后在您的jQuery选择器中,您将按类而不是ID获取元素。

<asp:TextBox ID="TextBox1" runat="server" CssClass="DynDatePicker" />
<asp:TextBox ID="TextBox2" runat="server" CssClass="DynDatePicker" />

$(".DynDatePicker").dynDateTime

答案 1 :(得分:0)

我不知道dynDateTime,但是常规的jquery datepicker可以解决任何jQuery选择器。

因此,如果您使用的是Html5数据类型,那么您可以使用类型=日期输入日期选择器并输入

jQuery("input[type=date]")
    .datepicker({ dateFormat: "m.d.yy", changeYear: true, yearRange: "-4:+0" })
    .attr("type", "text");

或使用CssClass日期标记每个文本框,然后像这样绑定datepicker

jQuery("input[type=text].date")
    .datepicker({ dateFormat: "m.d.yy", changeYear: true, yearRange: "-4:+0" })
    .attr("type", "text");

这适用于选择器结果中的每个元素。

答案 2 :(得分:0)

调用日期选择器时,请使用类作为选择方法,例如class =“datepicker”而不是id作为id需要唯一的命名,但类可以重复使用。

$(document).ready(function () {
    $(".datepicker").dynDateTime({
        showsTime: true,
        ifFormat: "%Y/%m/%d %H : %m",
        daFormat: "%l;%M %p, %e %m, %Y",
        align: "BR",
        electric: false,
        singleclick: false,
        displayarea: ".siblings('.dtcDisplayArea')",
        button: ".next()"
    });
});

现在将类分配给您希望显示日期选择器的每个文本输入,例如

<input type="text" class="datepicker" id="date1" />
<input type="text" class="datepicker" id="date2" />