jquery - 如何使用 jQueryUI 日期选择器和 HTML5 时间输入来比较日期/时间值?

标签 jquery html jquery-ui jquery-ui-datepicker html-input

我想验证页面上的“开始”日期/时间对早于“结束”日期/时间对。我正在使用 jQueryUI 日期选择器和 HTML5 时间输入元素/小部件。

这个 jQuery:

    var begD = $.datepicker.parseDate('mm/dd/yy', $('#BeginDate').val());
    var endD = $.datepicker.parseDate('mm/dd/yy', $('#EndDate').val());
    if (begD > endD) {
            alert('Begin date must be before End date');
            $('#BeginDate').focus();
            return false;
    }    

(请在此处查看此脚本:http://jsfiddle.net/clayshannon/QCrXG/9/)

...适用于比较日期选择器值,但我也需要合并时间元素,以便“结束”时间元素中的时间(同一日期)早于“开始”时间元素还将将该范围标记为无效。

如何做到这一点?

最佳答案

这是一种方法。您需要测试日期是否相同,然后在其中将时间附加到新的日期对象中,然后可以进行比较。 (可能有更快的方法来做到这一点,但这在测试中有效,此处:http://jsfiddle.net/mori57/SEqVE/):

} else if(begD.toString() == endD.toString() ){
    var dteString = begD.getFullYear() + "/" + (begD.getMonth()+1) + "/" + begD.getDate();
    var begT = new Date(dteString + " " + $('#BeginTime').val());
    var endT = new Date(dteString + " " + $('#EndTime').val());

    if( begT > endT ){
        alert('Begin date must be before End date');
        $('#BeginTime').focus();
        return false;
    }
}

关于jquery - 如何使用 jQueryUI 日期选择器和 HTML5 时间输入来比较日期/时间值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18192288/

相关文章:

javascript - 使用 jquery 创建元素并赋予它们不同的类

css - 需要制作一个可点击的 <div> 按钮

php - 使用 php 变量更改 css 类

javascript - <div> 获取自动宽度,无需在 html 中进行初始化

javascript - 将 jQuery 插件包装在 Polymer 1.x 元素内

javascript - 在元素符号上为图像 slider jquery添加功能

javascript - 匹配div的正确颜色

MVC3 的 jquery 日期时间选择器日期时间格式问题

jQuery Autocomplete,如何允许用户提交与源中的值不匹配的输入

jquery - 阻止谷歌翻译翻译日期选择器