Javascript 在jQueryUIDatePicker日历上突出显示多个日期在直接单击时效果良好,但在由外部按钮触发时效果不佳

Javascript 在jQueryUIDatePicker日历上突出显示多个日期在直接单击时效果良好,但在由外部按钮触发时效果不佳,javascript,jquery,jquery-ui,calendar,Javascript,Jquery,Jquery Ui,Calendar,我正在使用以下方法创建一个日历,我可以为它选择多天。它通过使用值设置为1/0 true/false(基于所选日期)的对象存储打开的日期 然后,我有一个函数,可以在每天打开时添加一个“选定”类。当我手动单击日期时,它可以完美地工作,但是我创建了按钮来选择特定的日期(或者如果我可以让它工作的话,可以在以后选择日期范围),但是出于某种原因,突出显示日期的代码只在直接单击时工作,而在使用按钮时不工作 弗雷克到底在干什么 最后 //维护日期数组 var天数={}; $('days'u cal')。日期选

我正在使用以下方法创建一个日历,我可以为它选择多天。它通过使用值设置为1/0 true/false(基于所选日期)的对象存储打开的日期

然后,我有一个函数,可以在每天打开时添加一个“选定”类。当我手动单击日期时,它可以完美地工作,但是我创建了按钮来选择特定的日期(或者如果我可以让它工作的话,可以在以后选择日期范围),但是出于某种原因,突出显示日期的代码只在直接单击时工作,而在使用按钮时不工作

弗雷克到底在干什么


最后
//维护日期数组
var天数={};
$('days'u cal')。日期选择器({
是的,
第一天:0,,
showOtherMonths:错误,
选择OtherMonths:false,
日期格式:'年-月-日',
变更年:错误,
默认日期:新日期(1995,0,1),
onSelect:函数(日期文本,inst){
day=parseInt(dateText.split('-')[2])
天[天]=!天[天];
daysStr();
},
beforeShowDay:功能(日期){
var day=date.getDate();
如果(天[天])
返回[真,“日期+所选日期];
返回[真,“日+日];
}
});     
第一
十五号
最后一天
函数daysStr(){
控制台日志(天);
//清除选定的日期
$('days'u cal.date'u selected')。removeClass('date'u selected');
//为表单构建一个字符串
温度=[];
$。每个(天,功能(天,附加){
如果(补充){
//将其添加到表单提交的字符串中
温度推送(天);
//也在日历上标记它
$('[data day='+day+']')。addClass('date_selected');
}
})
//现在将其添加到表单中
$('#days_area[name=days]').val(临时联接(',');
}
$(文档).ready(函数(){
//准备日历(一次性事务)
$(“#天_区域a”)。每个(函数(){
theTD=$(this).closest('td');
day=$(this.text();
$(theTD).数据('天',天);
})
$(“#天_区域[类型=天])。单击(函数(){
tempDays=$(this.attr('select').split(',');//天的逗号列表
$(临时天数)。每个(功能)(索引,天){
天[天]=真;
})
daysStr();
})
$(“#最后一个按钮”)。单击(函数(){
$(this.toggleClass('on');
if($(this.hasClass('on')){
$('最后一天').show();
天['last']=true;
}
否则{
$(“#最后一天”).hide();
天['last']=假;
}
daysStr();
})
})

对示例代码中未出现的元素有大量引用。我们也不清楚这里什么不起作用,什么应该起作用。我们还需要一个日期数据的例子。