Javascript 如何拒绝输入字段中的相同日期?

Javascript 如何拒绝输入字段中的相同日期?,javascript,jquery,jquery-ui-datepicker,Javascript,Jquery,Jquery Ui Datepicker,我正在使用jQuery datepicker选择多个日期,但我不想选择同一个日期两次。这很难解释 我制作了一个演示,可以帮助你们更好地理解 $(函数(){ $('.date picker').date picker({ 变化月:对, 变化年:是的, showButtonPanel:是的, 日期格式:“MM yy”, onClose:函数(dateText,inst){ var months=$(“#ui datepicker div.ui datepicker month:selected”)

我正在使用jQuery datepicker选择多个日期,但我不想选择同一个日期两次。这很难解释

我制作了一个演示,可以帮助你们更好地理解

$(函数(){
$('.date picker').date picker({
变化月:对,
变化年:是的,
showButtonPanel:是的,
日期格式:“MM yy”,
onClose:函数(dateText,inst){
var months=$(“#ui datepicker div.ui datepicker month:selected”).val();
var year=$(“#ui日期选择器div.ui日期选择器year:selected”).val();
$(此).datepicker('setDate',新日期(年、月、1));
var monthSelect=$(“#monthSelector”).val();
var d=新日期(monthSelect.getTime();
$(“#月”).val($(“#月”).val()+d+”,”);
}
});
});
.ui日期选择器日历{
显示:无;
}

将每个日期存储在一个数组中,并在每次发生“添加新日期”事件时检查重复

$(函数(){
var dateArray=[];//用于将所选日期存储为数组
$('.date picker').date picker({
变化月:对,
变化年:是的,
showButtonPanel:是的,
日期格式:“MM yy”,
onClose:函数(dateText,inst){
var isNotDuplicated=true;//用于检查重复
var months=$(“#ui datepicker div.ui datepicker month:selected”).val();
var year=$(“#ui日期选择器div.ui日期选择器year:selected”).val();
$(此).datepicker('setDate',新日期(年、月、1));
var monthSelect=$(“#monthSelector”).val();
var d=新日期(monthSelect.getTime();
//每次我们有一个新的选定日期,我们都会在使用它之前检查它是否重复
for(让dd表示日期数组){
如果(d==dd){
//新选择的日期是重复的,所以我们将标志isNotDuplicated设置为false,这将导致下面的逻辑忽略它。
isNotDuplicated=false;
打破
}
}
如果(不重复){
//新日期不重复,所以我们使用它。
dateArray.push(d);
$(“#月”).val($(“#月”).val()+d+”,”);
}
}
});
});
.ui日期选择器日历{
显示:无;
}

将每个日期存储在一个数组中,并在每次发生“添加新日期”事件时检查重复

$(函数(){
var dateArray=[];//用于将所选日期存储为数组
$('.date picker').date picker({
变化月:对,
变化年:是的,
showButtonPanel:是的,
日期格式:“MM yy”,
onClose:函数(dateText,inst){
var isNotDuplicated=true;//用于检查重复
var months=$(“#ui datepicker div.ui datepicker month:selected”).val();
var year=$(“#ui日期选择器div.ui日期选择器year:selected”).val();
$(此).datepicker('setDate',新日期(年、月、1));
var monthSelect=$(“#monthSelector”).val();
var d=新日期(monthSelect.getTime();
//每次我们有一个新的选定日期,我们都会在使用它之前检查它是否重复
for(让dd表示日期数组){
如果(d==dd){
//新选择的日期是重复的,所以我们将标志isNotDuplicated设置为false,这将导致下面的逻辑忽略它。
isNotDuplicated=false;
打破
}
}
如果(不重复){
//新日期不重复,所以我们使用它。
dateArray.push(d);
$(“#月”).val($(“#月”).val()+d+”,”);
}
}
});
});
.ui日期选择器日历{
显示:无;
}


请更正JavaScript拼写错误,以避免与Java冲突@BasilBourque哦,对不起,这是自动更正的。如果你只有一个日期选择器,你如何判断选择日期的“第一次”和“第二次”?您是否将日期存储在“时间”之间的某个位置?尽量清楚地表述你的问题,解决它会变得更容易。@9000只需存储在其他输入字段请纠正你的JavaScript拼写错误,以避免与Java冲突@BasilBourque哦,对不起,这是自动更正的。如果你只有一个日期选择器,你如何判断选择日期的“第一次”和“第二次”?您是否将日期存储在“时间”之间的某个位置?试着把你的问题表述清楚,解决起来就会容易些。@9000只需将输入字段存储在其他输入字段中我正在将输入字段转换为数组,并通过“for循环”进行比较。但如果它在数组中发现重复项,我不知道该怎么办。如果能指导我编写代码会更好。我正在将输入字段转换为数组,并通过“for loop”。但我不知道如果它在数组中发现重复项该怎么办。如果你能指导我进行编码,那就更好了