setDate 関数を呼び出すと、jquery datepicker が再び表示されます。ページに複数の datepicker があります。1 つの datepicker 値が選択されているときに、表示されている他のすべてのカレンダーの値を設定したいのですが、datepicker をもう一度クリックするまでハングします。jquery 1.6.1 と jquery-ui-1.8.5 を使用しています
function initCalendarMulti() {
$(".calendarmulti").each(function (index) {
$(this).datepicker({
numberOfMonths: 2,
minDate: 1,
maxDate: "+1Y",
changeMonth: true,
changeYear: true,
duration: "fast",
onSelect: setValuesMulti,
regional: cul
});
});
}
function setValuesMulti(elem, inst) {
var temp;
if (segmIndex == 1) return;
for (var i = 1; i <= segmIndex; i++) {
var depSrc = $("#segment" + i + " input[id=txtDeparture" + i + "]").datepicker("getDate");
if ($("#segment" + (i + 1)).hasClass("hide") == false) {
var id = "segment" + (i + 1) + " input[id=txtDeparture" + (i + 1) + "]";
var depDes = $("#" + id).datepicker("getDate");
if (eval(depDes - depSrc) < 0) {
$("#" + id).datepicker("setDate", depSrc);//this line shows up the calendar again
//depDes.setDate(depSrc); // this line does not do anything
}
}
}
}