ここstackoverflowの親切な人のおかげで、このコードがありますが、期待どおりに完全には機能しません. 問題は、現在日付の正確な一致をチェックしていることですが、時間が互いに重なって競合も表示される場合があります (競合の場合は背景が赤くなります)。ご覧のとおり、次の日付 "Wednesday Oct/30 11:00 AM - 3:15 PM" は、Wednesday Oct/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) から日付データを抽出し、時間の重複があるかどうかを確認する必要があると考えています。基本的に、スクリプトはいくらか改良する必要があり、完全に機能します。誰かがここで私を助けることができれば、私はとても感謝しています. 前もって感謝します。