c# - 如何在c#中的文本框之间复制选定的日期

标签 c# javascript jquery asp.net

我在使用 c# 网页的 ASP.NET 中有 StartDate 和 EndDate。当用户填写开始日期时 - 我希望将其复制到结束日期,直到用户更改结束日期。我们怎么可能那样做。我的代码如下

<asp:PlaceHolder ID="m_eventform" runat="server" Visible="true">
<script type="text/javascript">
    $(function () {
        $('#<%= m_eventDate.ClientID %>').datepick({ dateFormat: 'yyyy-mm-dd' });
        $('#<%= m_eventEndDate.ClientID %>').datepick({ dateFormat: 'yyyy-mm-dd' });
    });
</script>
<form id="eventForm" runat="server">

<div class="formrow">
    <label>
      Start Date</label>
    <asp:TextBox ID="m_eventDate" runat="server" />
    <asp:RequiredFieldValidator ID="m_eventDateRequired" runat="server" ControlToValidate="m_eventDate"
        ErrorMessage="Please enter a start date" Display="Dynamic" />
    <asp:RegularExpressionValidator ID="m_eventDateReg" runat="server" ValidationExpression="^\d{4}[\-]?((((0[13578])|(1[02]))[\-]?(([0-2][0-9])|(3[01])))|(((0[469])|(11))[\-]?(([0-2][0-9])|(30)))|(02[\-]?[0-2][0-9]))$"
        ControlToValidate="m_eventDate" Display="Dynamic" ErrorMessage="Please enter the date in YYYY-MM-DD format" />
</div>

  <div class="formrow">
    <label>
        End Date</label>
    <asp:TextBox ID="m_eventEndDate" runat="server" />
    <asp:RequiredFieldValidator ID="m_eventEndDateRequired" runat="server" ControlToValidate="m_eventEndDate"
        ErrorMessage="Please enter an end date" Display="Dynamic" />
    <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ValidationExpression="^\d{4}[\-]?((((0[13578])|(1[02]))[\-]?(([0-2][0-9])|(3[01])))|(((0[469])|(11))[\-]?(([0-2][0-9])|(30)))|(02[\-]?[0-2][0-9]))$"
        ControlToValidate="m_eventEndDate" Display="Dynamic" ErrorMessage="Please enter the date in YYYY-MM-DD format" />
</div>


</form>

最佳答案

日期选择器有一个可以使用的 onselect 函数:
$('#<%= m_eventDate.ClientID %>').datepick( { dateFormat: 'yyyy-mm-dd', onSelect : function(dateText,inst){ if(!endDateSelected){ $('#<%= m_eventEndDate.ClientID %>').val(dateText); } } });


$('#<%= m_eventEndDate.ClientID %>').datepick( { dateFormat: 'yyyy-mm-dd', onSelect : function(dateText,inst){ endDateSelected = true; } });
这将使您不必编写额外的 C# 代码。将 onSelect 函数添加到结束日期选择器将防止每次用户更改开始日期时结束日期不断更新。

您也可以查看此帖子以了解类似情况: jQuery UI Datepicker - onSelect get the selected date +3 days

关于c# - 如何在c#中的文本框之间复制选定的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17704245/

相关文章:

c# - 在不复制结果条目的情况下查询或合并一对多关系

c# - 所有关于异常 : What to do and Where to log?

javascript - 如何在 JavaScript 中获取 Application Insights 操作 id?

javascript - event.waitUntil 在 Service Worker 中做什么以及为什么需要它?

Chrome 中的 JQuery 问题

javascript - 单击图片中的某些区域应该会出现边框

c# - 从另一个 WCF 服务调用 ASMX 或 WCF 服务

javascript - 隐藏表中的特定行?

javascript - 使用 bassistance 插件显示表单上方的所有错误

c# - Windows 窗体上的 log4net 不写入日志文件