jQuery验证以比较开始日期和结束日期
jQuery validation to compare start and end date
我有两个字段。一个用于person_start_date,另一个用于person_end_date。两者都有三个独立的字段,分别表示年份、月份和日期。我想验证个人结束日期>个人开始日期。提前谢谢。
html.erb
<%= datetime_select :person_start_date %>
<select id="person_start_date_1i" name="person[start_date(1i)]"> ... </select>
<select id="person_start_date_2i" name="person[start_date(2i)]"> ... </select>
<select id="person_start_date_3i" name="person[start_date(3i)]"> ... </select>
html.erb
<%= datetime_select :person_end_date %>
<select id="person_end_date_1i" name="person[end_date(1i)]"> ... </select>
<select id="person_end_date_2i" name="person[end_date(2i)]"> ... </select>
<select id="person_end_date_3i" name="person[end_date(3i)]"> ... </select>
这里有一个建议:
var startDate = new Date(
$('#person_start_date_1i').val(),
$('#person_start_date_2i').val() - 1,
$('#person_start_date_3i').val()
);
var endDate = new Date(
$('#person_end_date_1i').val(),
$('#person_end_date_2i').val() - 1,
$('#person_end_date_3i').val()
);
if (endDate > startDate) {
// do something
}
如果您将年、月和日值作为数字(它们可以是Type数字或字符串),则可以创建一个日期,如:
var dStart = new Date(year, --month, day);
请注意,对于日历月份1,javascript月份编号为0(零),因为月份为零索引,因此为--month
。
你可以直接比较两个日期:
if (dEnd < dStart) {
// end is before start
}
我认为这些链接中的任何一个都应该回答您的问题:
验证结束日期是否大于开始日期
使用jQuery 验证结束日期是否大于开始日期
更新:
这个链接准确地描述了你的问题,并给出了一个很好的解决方案
jQuery validate date字段用于单独的年、月、日期
http://jsfiddle.net/GGsMx/
再简单不过了。。
var date1 = Date.parse("2012-11-18");
var date2 = Date.parse("2011-11-18");
if (date1 > date2) {
alert ("Error!");
}
else{
alert("correct")
}
重要的是,由于使用了日期格式,这样的比较失败了。大多数情况下,它使用mm-dd-yyyy格式,因为PC有相同的区域设置,看起来格式正确,但事实并非如此。为了兼容性,各种语言/平台将日期保持为年月日格式。因此,最好明确地将日期转换为yyyy-mm-dd格式并进行转换,特别是当您使用dd-mm-yyy(Aus或European格式)时。
相关文章:
- 希望日期开始结束于while循环中的一个房间id的一个数组
- 使用javascript&自定义验证器检查开始日期和结束日期
- 如何在dhtmlxgantt中显示灯箱中的开始日期、结束日期和持续时间
- 如何在javascript中获得给定的月份开始日期和结束日期
- 在选择开始日期后设置结束日期
- JavaScript-计算两个日期之间的天数(包括结束日期)
- 基础日期选择器、结束日期(和时间)不能早于开始日期(和时间)
- 结束日期作为基础日期时间选择器中的选定开始日期
- 开始日期和结束日期输入字段的 JQuery 筛选器表
- 在ExtJS中获取开始/结束日期之间的日期
- 转换mysql的Fullcalendar开始/结束日期
- angularjs提交表单中的开始日期结束日期验证应被禁用
- Jquery FullCalendar扩展开始日期或结束日期
- 从jquery中的开始日期计算结束日期
- 检查开始日期是否小于结束日期(不使用任何pluguin)
- 如何在引导程序中比较结束日期和开始日期,以确保结束日期大于开始日期
- JSON Linq.js 筛选开始日期结束日期列
- Jquery UI日期起始日期和日期结束字段验证
- 比较日期——结束日期应该大于开始日期
- j使用时区/开始日期/结束日期查询进度条