Показать сообщение отдельно
  #2 (permalink)  
Старый 16.02.2010, 08:23
Интересующийся
Отправить личное сообщение для mstdmstd Посмотреть профиль Найти все сообщения от mstdmstd
 
Регистрация: 30.10.2009
Сообщений: 10

Опишу чуть подробнее мне надо выбирать несколько дней необязательно по порядку.

Это сделано средствами 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 - не пойму...
Ответить с цитированием