Прежде всего, поместите время начала в атрибут данных, а не в класс (это не то, для чего предназначен класс). Например:
<input type="checkbox" name="date" data-starttime="1730" value="A" />Event A
Затем поместите два дня в набор полей, чтобы вы могли проверить их с помощью той же функции:
<form id="form1">
<fieldset>
<caption>Today</caption>
<input type="checkbox" name="date" data-starttime="1730" value="A" />Event A
<input type="checkbox" name="date" data-starttime="1600" value="B" />Event B
<input type="checkbox" name="date" data-starttime="1730" value="C" />Event C
<input type="checkbox" name="date" data-starttime="1630" value="D" />Event D
</fieldset>
<fieldset>
<caption>Tomorrow</caption>
<input type="checkbox" name="date" data-starttime="1830" value="A" />Event A
<input type="checkbox" name="date" data-starttime="1830" value="B" />Event B
<input type="checkbox" name="date" data-starttime="1930" value="C" />Event C
<input type="checkbox" name="date" data-starttime="2030" value="D" />Event D
</fieldset>
<input type="submit" name="submit" />
</form>
Вот функция jQuery для сопоставления. Это не было проверено.
function submit(){
$("#form1 fieldset").each(function(i){
var hashmap = {};
$("input:checked", $(i)).each(function(j){
var mytime = $(j).data("starttime");
if(hashmap[mytime] != undefined){
//Collision, report it or something
}else{
hashmap[mytime] = 1;
}
});
});
}