Опишу чуть подробнее мне надо выбирать несколько дней необязательно по порядку.
Это сделано средствами JS:
Определен метод для onSelect и при каждом клике вызывается
function Departure_onSelect(dateText, inst) {
//alert("Departure_onSelect dateText::"+dateText+" inst::"+var_dump(inst.input))
var Selected= document.getElementById( "hid_DateDeparturesSelected" ).value
var SelectedArr = Selected.split( ';' );
var L= SelectedArr.length
var ResValue= ""
var WasExcluded= false
for ( I= 0; I< L; I++ ) {
if ( dateText != SelectedArr[i] ) {
if ( SelectedArr[i] != "" ) {
ResValue= ResValue+SelectedArr[i]+";"
}
} else {
WasExcluded= true
}
}
if ( WasExcluded ) {
document.getElementById( "hid_DateDeparturesSelected" ).value= ResValue
return;
}
document.getElementById( "hid_DateDeparturesSelected" ).value= document.getElementById( "hid_DateDeparturesSelected" ).value+';'+dateText
}
То есть в хидден поле запоминается(или стирается) текущяя ячейка
В методе для каждого дня месяца проверяется если этот день был выбран то ему присваивается класс DaySelected:
function Departure_beforeShowDay(data) {
var Day= data.getDate()
var Month= data.getMonth()+1
var Year= data.getYear()+1900
if( Day <= 9 ) Day= "0"+Day
if( Month <= 9 ) Month= "0"+Month
var SDate= Day+""+Month+""+Year
var A= Array(3);
A[0]= true;
A[1]= "";
A[2]= "";
var Selected= document.getElementById( "hid_DateDeparturesSelected" ).value
var SelectedArr = Selected.split( ';' );
var L= SelectedArr.length
for ( I= 0; I< L; I++ ) {
if ( SDate == SelectedArr[i] ) {
A[0]= true;
A[1]= "DaySelected";
A[2]= "<?php echo __("Day was Selected")?>";
return A
}
}
return A
}
Это нормально рабоатет в FF но не хочет в IE, Opera...
И не могу понять почему - то ли этот DaySelected класс не проставлется в ячейки по дням - то ли там какие-то хитрости с css - не пойму...
|