Ragazzi
Ho un problema che non riesco a risolvere; ho un form contente un campo select e due campi testo from e to che vorrei abilitare solo nel momento in cui l'utente ha selezionato l'opzione nella select.
Lo script da me creato funziona in modo parziale infatti:
- quando seleziono la tipologia mi si attività il campo testo ma accanto non mi fa visualizzare l'immagine del calendario
- quando riclicco su seleziona non disabilita il datepicker
Questo invece il form
Ho un problema che non riesco a risolvere; ho un form contente un campo select e due campi testo from e to che vorrei abilitare solo nel momento in cui l'utente ha selezionato l'opzione nella select.
Lo script da me creato funziona in modo parziale infatti:
- quando seleziono la tipologia mi si attività il campo testo ma accanto non mi fa visualizzare l'immagine del calendario
- quando riclicco su seleziona non disabilita il datepicker
Codice:
var arr_giorni_da_escludere1 = [];
var arr_giorni_da_escludere =
["Domenica","Lunedì","Martedì","Mercoledì","Giovedì ","Venerdì"];
var arr_giorni_settimana =
["Domenica","Lunedì","Martedì","Mercoledì","Giovedì
","Venerdì","Sabato"];
var index = document.calendario.tipologia.selectedIndex;
tipologia = document.calendario.tipologia.options[index].value;
$.datepicker() {
$('#from').datepicker({ dateFormat: "dd/mm/yy" ,
minDate: new Date(),
defaultDate: '+1w',
changeMonth: true,
numberOfMonths: 1,
showOn: "button",
buttonImage:
"http://jqueryui.com/resources/demos/datepicker/images/calendar.gi
f",
buttonImageOnly: true,
buttonText: "Select date",
beforeShowDay: function(date)
{if(tipologia=="residence")
return [$.inArray(arr_giorni_settimana[date.getDay
()],arr_giorni_da_escludere) == -1,""];
else
return [$.inArray(arr_giorni_settimana[date.getDay
()],arr_giorni_da_escludere1) == -1,""];},
onSelect: function(selectedDate)
{ var date = $(this).datepicker('getDate');
if ((date= $(this).datepicker('getDate')) &&
(tipologia=="residence"))
{ $('#to').val(''+(date.getDate()+7)+'/'+(date.getMonth
()+1)+'/'+date.getFullYear());
$('#to').datepicker('option' , "minDate", $('#to').val() ); }
else
{ date.setDate(date.getDate() + 1);
$('#to').val(''+(date.getDate())+'/'+(date.getMonth
()+1)+'/'+date.getFullYear());
$('#to').datepicker('option' , "minDate", $('#to').val() );
}}});
$('#to').datepicker(
{ dateFormat: "dd/mm/yy" ,
minDate: new Date(),
defaultDate: '+1w',
changeMonth: true,
numberOfMonths: 1,
showOn: "button",
buttonImage:
"http://jqueryui.com/resources/demos/datepicker/images/calendar.gi
f",
buttonImageOnly: true,
buttonText: "Select date",
beforeShowDay: function(date)
{if(tipologia=="residence")
return [$.inArray(arr_giorni_settimana[date.getDay
()],arr_giorni_da_escludere) == -1,""];
else
return [$.inArray(arr_giorni_settimana[date.getDay
()],arr_giorni_da_escludere1) == -1,""];},
onSelect: function(selectedDate)
{ var date = $(this).datepicker('getDate');
if ((date= $(this).datepicker('getDate')) &&
(tipologia=="residence"))
{ $('#from').val(''+(date.getDate()-7)+'/'+(date.getMonth
()+1)+'/'+date.getFullYear());
$('#from').datepicker('option' , "minDate", $('#from').val() ); }
else
{ date.setDate(date.getDate() - 1);
$('#from').val(''+(date.getDate())+'/'+(date.getMonth
()+1)+'/'+date.getFullYear());
$('#from').datepicker('option' , "minDate", $('#from').val() );
}}});
}
Questo invece il form
Codice:
<form name = "calendario" method="POST" action="preventivo.asp">
<select id="tipologia" name="tipologia">
<option value="0">Seleziona</option>
<option value="Residence">Residence</option>
<option value="Hotel">Hotel</option>
</select>
<input type="text" name="from" id="from" class="datepicker">
<input type="text" name="to" id="to" class="datepicker">
<input type="text" name="pax">
</form>