Noob在这里,我试图创建一个javascript代码,其中检查时间范围是否与后续时间范围不重叠。
我还检查了this但它只处理了一个重复的输入。
这是我的HTML:
<form>
<table>
<tr>
<td>
<input type="time" class="time1" name="time1[]" id="1" required>
<input type="time" class="time2" name="time2[]" id="1" required>
<button class="add">Add
</td>
</tr>
</table>
<input type="submit" id="submit" value="check">
</form>
这里是脚本(根据链接主题的答案修改):
var i = 2;
$('.add').click(function(e){
e.preventDefault();
$('table').append('<tr><td><input type="time" class="time1" name="time1[]" id="'+i+'" required><input type="time" class="time2" name="time2[]" id="'+i+'" required> <button type="button" class="add">Add</td></tr>');
i++;
});
$('#submit').click(function () {
var valid = true;
$.each($(".time1"), function (index1, item1) {
$.each($(".time1").not(this), function (index2, item2) {
$.each($(".time2"), function (index3, item3) {
$.each($(".time2").not(this), function (index4, item4) {
if((($(item1).val() > $(item2).val()) && ($(item1).val() < $(item4).val()) || ($(item3).val() > $(item2).val()) && ($(item3).val() <= $(item4).val()))) {
$(item1).css("border-color", "red");
$(item3).css("border-color", "red");
valid = false;
}
});
});
});
});
return valid;
});
这就是我想要发生的事情:
很抱歉,如果之前没有说清楚。 :)和平:D
提前谢谢! :)