Problema abilitare – disabilitare datepicker da select
Scrivi le tue richieste di aiuto nella sezione relativa.
Posta qui eventuali problemi con jQuery
- Questo topic ha 1 risposta, 1 partecipante ed è stato aggiornato l'ultima volta 8 anni, 10 mesi fa da fabiolantier.
Stai visualizzando 2 post - dal 1 a 2 (di 2 totali)
- AutorePost
- 12 Giugno 2015 alle 15:05 #6785fabiolantierPartecipante
Ragazzi
Ho una select e solo se questa viene selezionata dovrei far attivare il datepicker ma mio malgrado non va …..; sarebbe utile capire dove sbaglio.<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="filtertypeinput" disabled="disabled"> <input type="text" name="to" id="to" class="filtertypeinput" disabled="disabled">
(function($) { $.fn.toggleDisabled = function() { return this.each(function() { this.disabled = !this.disabled; if ($(this).datepicker("option", "disabled")) { $(this).datepicker("option", "disabled", false); } else { $(this).datepicker("option", "disabled", true); } }); }; })(jQuery); $("#tipologia").change(function() { var v = $(this).val(); if (v=='Hotel') { $(".filtertypeinput").toggleDisabled(); } }); $("#from").datepicker({ showOn: "button", buttonImage: "http://jqueryui.com/resources/demos/datepicker/images/calendar.gif", buttonImageOnly: true, buttonText: "Select date", defaultDate: "+1w", changeMonth: true, changeYear: true, numberOfMonths: 1, onClose: function(selectedDate) { $("#to").datepicker("option", "minDate", selectedDate); } }); $("#to").datepicker({ showOn: "button", buttonImage: "http://jqueryui.com/resources/demos/datepicker/images/calendar.gif ", buttonImageOnly: true, buttonText: "Select date", defaultDate: "+1w", changeMonth: true, changeYear: true, numberOfMonths: 1, onClose: function(selectedDate) { $("#from").datepicker("option", "maxDate", selectedDate); } });
12 Giugno 2015 alle 16:53 #6786fabiolantierPartecipanteHo fatto una modifica e parzialmente funziona.
Solo che ora non mi prende le variabili, il calendario mi compare quando clicco sul campo input mentre invece dovrebbe comparirmi l’immagine accanto e quando seleziono nella select la voce principale non disabilita il datepicker nonostante io ho detto allo script di fare destroy
Mi sapreste dare un aiuto per capire cosa sbaglio?$(document).ready(function() { $("#tipologia").change(function() { if ($(this).val() == "Hotel" || $(this).val() == "Residence") { $("#from").datepicker(); $("#to").datepicker(); } else { $("#tipologia").datepicker("destroy"); } }).change(); }); 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.gif", 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.gif", 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() ); }}}); }
- AutorePost
Stai visualizzando 2 post - dal 1 a 2 (di 2 totali)
- Devi essere connesso per rispondere a questo topic.