[英]Datetimepicker validation doesn't work
我有一个带有2 datetimepciker的表格:一个用于开始日期,另一个用于结束日期。
验证是,选择开始日期后,结束日期必须大于或等于开始日期。
我在互联网上搜索,但是我的代码无法正常工作。
这是我的js函数:
function formatFields() {
$('#report_startDate').datepicker({
format: 'mm/dd/yyyy',
todayHighlight: true,
autoclose: true,
startDate: "01/01/1900",
endDate: "01/01/2100"
});
$('#report_endDate').datepicker({
format: 'mm/dd/yyyy',
todayHighlight: true,
autoclose: true,
startDate: "01/01/1900",
endDate: "01/01/2100"
});
$("#report_endDate").datepicker().on("dp.change", function (e) {
$('#report_startDate').data("DateTimePicker").minDate(e.date);
});
}
这是我的2日期时间选择器的html:
<table style="width: 100%">
<tr>
<td>
<div class="form-group">
<label class="control-label col-sm-3" id="lb_report_startDate"></label>
<div class="col-sm-8 date">
<div class="input-group input-append date" id="report_startDate">
<input runat="server" type="text" class="form-control" name="report_startDate_datePicker" id="report_startDate_datePicker" />
<span class="input-group-addon add-on"><span class="glyphicon glyphicon-calendar"></span></span>
</div>
<span id="report_startDate_error" class="error-message">Wrong format MM/dd/yyyy.</span>
</div>
</div>
</td>
<td>
<div class="form-group">
<label class="control-label col-sm-3" id="lb_report_endDate"></label>
<div class="col-sm-8 date">
<div class="input-group input-append date" id="report_endDate">
<input runat="server" type="text" class="form-control" name="report_endDate_datePicker" id="report_endDate_datePicker" />
<span class="input-group-addon add-on"><span class="glyphicon glyphicon-calendar"></span></span>
</div>
<span id="report_endDate_error" class="error-message">Wrong format MM/dd/yyyy.</span>
</div>
</div>
</td>
</tr>
</table>
这里的任何人都可以解释我的代码有什么问题以及如何解决该问题? 非常感谢。
function formatFields() { $('#report_startDate').datepicker({ format: 'mm/dd/yyyy', todayHighlight: true, autoclose: true, startDate: "01/01/1900", endDate: "01/01/2100" }); $('#report_endDate').datepicker({ format: 'mm/dd/yyyy', todayHighlight: true, autoclose: true, startDate: "01/01/1900", endDate: "01/01/2100" }); $("#report_endDate").datepicker().on("dp.change", function (e) { $('#report_startDate').data("DateTimePicker").minDate(e.date); }); }
<table style="width: 100%"> <tr> <td> <div class="form-group"> <label class="control-label col-sm-3" id="lb_report_startDate"></label> <div class="col-sm-8 date"> <div class="input-group input-append date" id="report_startDate"> <input runat="server" type="text" class="form-control" name="report_startDate_datePicker" id="report_startDate_datePicker" /> <span class="input-group-addon add-on"><span class="glyphicon glyphicon-calendar"></span></span> </div> <span id="report_startDate_error" class="error-message">Wrong format MM/dd/yyyy.</span> </div> </div> </td> <td> <div class="form-group"> <label class="control-label col-sm-3" id="lb_report_endDate"></label> <div class="col-sm-8 date"> <div class="input-group input-append date" id="report_endDate"> <input runat="server" type="text" class="form-control" name="report_endDate_datePicker" id="report_endDate_datePicker" /> <span class="input-group-addon add-on"><span class="glyphicon glyphicon-calendar"></span></span> </div> <span id="report_endDate_error" class="error-message">Wrong format MM/dd/yyyy.</span> </div> </div> </td> </tr> </table>
尝试在您的js中更改以下代码
$('#report_startDate').data("DateTimePicker").minDate(e.date);
至
$('#report_startDate').datepicker("option", "minDate", e.date);
我终于找到了答案。
我的函数在更改时调用了datetimepicker错误事件。
我的功能更改为:
function formatFields() {
$('#report_startDate').datepicker({
format: 'mm/dd/yyyy',
todayHighlight: true,
autoclose: true,
startDate: "01/01/1900",
endDate: "01/01/2100"
}).on("changeDate", function (e) {
$('#report_endDate').datepicker('setStartDate', e.date);
});
;
$('#report_endDate').datepicker({
format: 'mm/dd/yyyy',
todayHighlight: true,
autoclose: true,
startDate: "01/01/1900",
endDate: "01/01/2100"
});
}
而且有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.