Ajax CalendarExtender日期为多个TextBox字段

时间:2015-09-09 09:09:40

标签: asp.net ajax asp.net-ajax

目前我正在使用它:

<div class="SidebarRow">    
    <asp:TextBox ID="TextBox1" runat="server">
    </asp:TextBox><asp:ImageButton ID="ImageButton1" ImageUrl="~/calendar.png" runat="server" Height="25" Width="25" />   
    <ajaxToolkit:CalendarExtender ID="CalendarExtender" TargetControlID="TextBox1" runat="server" PopupButtonID="ImageButton1" />       
</div>

TargetControlID将日期追加到TextBox1但我希望每个月和每年使用三个文本框。我想隐藏TextBox1并分割日期。

解决方案:我在</body>

之前添加了
<script>
    $('[id$=TextBox1]').change(function () {
        if ($(this).val().length > 2) {
            date = $(this).val();
            $(this).val(date.substring(0, 2));
            $('[id$=TextBox2]').val(date.substring(5, 3));
            $('[id$=TextBox3]').val(date.substring(6));
        }
    });
</script>

初始日期是19/09/15,现在应该分开。

2 个答案:

答案 0 :(得分:0)

使用JQuery对文本框更改事件,假设您的日期格式以dd/MM/MM/dd

开头
$('[id$=TextBox1]').change( function() {
    if($(this).val().length > 2) {
       date = $(this).val();
       $(this).val(date.substring(0,2));
       $('[id$=TextBox2]').val(date.substring(3,2));
       $('[id$=TextBox3]').val(date.substring(6));
    }
});

答案 1 :(得分:0)

<asp:TextBox ID="txtEndDate" runat="server" Width="80" CssClass="InputFormat"></asp:TextBox>
<asp:Image ID="imgEndDate" runat="server" ImageUrl="~/Images/Calendar_scheduleHS.png" AlternateText="Click to show/hide calendar" />
<cc2:CalendarExtender ID="ceEndDate" runat="server" TargetControlID="txtEndDate" PopupButtonID="imgEndDate" Format="dd-MMM-yyyy"> </cc2:CalendarExtender>

它工作正常。当我使用文本框以及点击图片时。