我在使用 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/