我们有这段代码,感谢 stackoverflow 的一位乐于助人的人,但它并没有按预期完全工作。问题是它目前检查日期的精确匹配,但有些时间相互重叠并且也应该显示冲突(如果发生冲突,背景会变为红色)。如您所见,以下日期“10 月 30 日星期三 11:00 AM - 3:15 PM”与 10 月 30 日星期三 10:00 AM - 12:15 PM 重叠。显然,一个人不可能同时在不同的位置。
使用的代码是这样的:
$(".time").change(function() {
var values = $("input.time").map(function(){
return $(this).val();
});
values.each( function (){
var overlapping = $("input.time[value='"+ this +"']");
if (overlapping.filter(":checked").length > 1){
overlapping.parents("tr").addClass("red");}
else{
overlapping.parents("tr").removeClass("red");
}
})
});
小提琴在这里:http: //jsfiddle.net/3VFRt/
我知道需要做什么,但我似乎无法理解在 jQuery 中是如何完成的。我认为它需要从列(td's)中提取日期数据,看看是否有时间重叠,如果有,则相应地显示(css class=red)。基本上脚本需要一些改进,它会完美地工作。如果有人可以在这里帮助我,我将不胜感激。提前致谢。