我有一个问题,关于如何确保每当此隐藏值更改时,datepicker将重新加载。因为datepicker将使用隐藏值来突出显示日期。因此,每当隐藏值发生变化时,datepicker中突出显示的日期也会发生变化。
到目前为止我的代码。 $("#dates").val()
是一个隐藏的值。值的样本为2013/11/11-2013/11/17
。此值将突出显示整周(mon-sun)。有一个上一个和下一个按钮,它将按周更改$("#dates").val()
,例如:
2013/11 / 18-2013 / 11 / 24,2013 / 11 / 25-2013 / 12/1
如果隐藏值被更改,我没有问题触发,问题是我希望一旦隐藏值改变就重新加载datepicker。以便突出显示的一周相应地改变。当隐藏值发生变化时,突出显示的周数将保持不变。
每当隐藏值发生变化时,我确实尝试使用$( "#datepicker" ).datepicker( "refresh" );
,但仍然没有运气。请帮我。感谢
$(document).ready(function() {
var dates = $("#dates").val();
var lt = dates.split("-");
var ts = lt[0].split("/");
var te = lt[1].split("/");
var date1 = new Date(ts[0], ts[1]-1, ts[2]);
var date2 = new Date(te[0], te[1]-1, te[2]);
$(function(){
$('#datepicker').datepicker({
dateFormat: 'yy/mm/dd',
beforeShowDay: highlightDays,
onSelect: function(dateText, inst) {
$("#showdaybtn").addClass("fcurrent");
$("#showweekbtn").removeClass("fcurrent");
$("#showmonthbtn").removeClass("fcurrent");
$('#type').val('1');
var p = $("#gridcontainer").swtichView("day").BcalGetOp();
if (p && p.datestrshow) {
$("#txtdatetimeshow").text(dateText);
$("#hdnTempData").val(dateText);
}
showhideToday('day');
glbView = "day";
}
});
function highlightDays(date) {
if (date >= date1 && date <= date2) {
return [true, 'highlight', 'tooltipText'];
}
return [true, ''];
}
});
});
//to check if the hidden value changed
$(document).on('change', '#dates', function () {
$( "#datepicker" ).datepicker( "refresh" );
});