繁体   English   中英

日期时间选择器验证不起作用

[英]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"
    });
}

而且有效。

参考: Bootstrap日期选择器从另一个日期选择器更改minDate / startDate

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM