Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128

    datepicker solo al primo click

    sto utilizzando datepicker di jquery per scrivere della date in alcuni input text.

    ho il primo input (checkin) dove imposto la data di arrivo e il secondo (checkout) dove imposto la data di partenza.

    quando imposto la data in checkin in automatico mi imposta da data appena inserita + 1 giorno nell'input checkout e mi imposta nel checkout come data minima (parametro di datepicker) la data appena impostata nel checkout.

    Fin qui nessun problema apparte il fatto che se provo a riutilizzare datapicker senza aggiorare la pagina e cambio la data di partenza non mi cambia più il parametro data minima nell'input checkout, come mai? mi tiene in memoria sempre il primo utilizzato...

    Codice PHP:
    $(document).ready(function(){

            // caldendario
        $('#checkinIframe').datepicker({ dateFormat: 'dd/mm/yy', minDate: new Date(<?php echo date("Y"); ?><?php echo date("m"); ?> - 1, <?php echo date("d"); ?>) });
           
            // quando viene modificato checkin
        $("#checkinIframe").change(function () {
            
                    // recupero il valore nell'input text
            var checkin = $('#checkinIframe').val();

                   // lo trasformo in array in quanto è nel formato dd/mm/yyyy --> 01/02/2012 --> 1 febbraio 2012
            dataArray = checkin.split("/");

                    // recupero il giorno e ne aggiungo 1
            var giornoCheckOut = parseInt(dataArray[0])+1;

                   // compilo l'input text chackout
            $('#checkoutIframe').val(giornoCheckOut+"/"+dataArray[1]+"/"+dataArray[2]);
            
                   imposto il caldendario dle checkout con la data minima
            $('#checkoutIframe').datepicker({ dateFormat: 'dd/mm/yy', minDate: new Date(dataArray[2], dataArray[1] - 1, giornoCheckOut) });
                    

        });
        
    });

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    prova cosi:

    codice:
    $( "#checkinIframe, #checkoutIframe" ).datepicker({
    	dateFormat: 'dd/mm/yy',
    	minDate: new Date(<?php echo date("Y"); ?>, <?php echo date("m"); ?> - 1, <?php echo date("d"); ?> ),
    	onSelect: function( selectedDate ) {
    		if(this.id == "checkinIframe"){
    			dataArray = selectedDate.split("/"); 
                            var giornoCheckOut = parseInt(dataArray[0])+1; 
    	                nextDay = new Date(dataArray[2],dataArray[1]-1,giornoCheckOut);
    	    		              $('#checkoutIframe').val(nextDay.getDate()+"/"+nextDay.getMonth()+"/"+nextDay.getFullYear());  
    		        $( "#checkoutIframe" ).datepicker( "option", "minDate", nextDay );
    		}
    	}
    });

  3. #3
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    Originariamente inviato da Vindav
    prova cosi:

    codice:
    $( "#checkinIframe, #checkoutIframe" ).datepicker({
    	dateFormat: 'dd/mm/yy',
    	minDate: new Date(<?php echo date("Y"); ?>, <?php echo date("m"); ?> - 1, <?php echo date("d"); ?> ),
    	onSelect: function( selectedDate ) {
    		if(this.id == "checkinIframe"){
    			dataArray = selectedDate.split("/"); 
                            var giornoCheckOut = parseInt(dataArray[0])+1; 
    	                nextDay = new Date(dataArray[2],dataArray[1]-1,giornoCheckOut);
    	    		              $('#checkoutIframe').val(nextDay.getDate()+"/"+nextDay.getMonth()+"/"+nextDay.getFullYear());  
    		        $( "#checkoutIframe" ).datepicker( "option", "minDate", nextDay );
    		}
    	}
    });
    perfect, fa quello che intendo..
    ultime due cosettine, ma se volessi dare come data minima al checkin oggi e per il checkout domani?
    e se venisse selezionato prima il checkout, volessi impostare il checkin con un giorno prima del checkout?

    scrivendo qui mi sono accorto che funziona tutto correttamente, ma se imposto nel checkin il 29 o 30 marzo non mi compila l'input checkout, mentre con gli altri giorno funziona correttamente

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    Originariamente inviato da torrone
    ma se volessi dare come data minima al checkin oggi e per il checkout domani?
    inserisci la data minima del checkout con php come hai fatto con il checkin

    Originariamente inviato da torrone
    e se venisse selezionato prima il checkout, volessi impostare il checkin con un giorno prima del checkout?
    Aggiungi l'else

    codice:
    if(this.id == "checkinIframe"){
    			dataArray = selectedDate.split("/"); 
                            var giornoCheckOut = parseInt(dataArray[0])+1; 
    	                nextDay = new Date(dataArray[2],dataArray[1]-1,giornoCheckOut);
    	    		              $('#checkoutIframe').val(nextDay.getDate()+"/"+nextDay.getMonth()+"/"+nextDay.getFullYear());  
    		        $( "#checkoutIframe" ).datepicker( "option", "minDate", nextDay );
    		}else{
    //imposto data checkin
    }
    scrivendo qui mi sono accorto che funziona tutto correttamente, ma se imposto nel checkin il 29 o 30 marzo non mi compila l'input checkout, mentre con gli altri giorno funziona correttamente
    Ho corretto prova cosi:

    codice:
    $( "#checkinIframe, #checkoutIframe" ).datepicker({
            altField: "#checkoutIframe",
    	dateFormat: 'dd/mm/yy',
    	minDate: new Date(<?php echo date("Y"); ?>, <?php echo date("m"); ?> - 1, <?php echo date("d"); ?> ),
    	onSelect: function( selectedDate ) {
    		if(this.id == "checkinIframe"){
    			dataArray = selectedDate.split("/"); 
                            var giornoCheckOut = parseInt(dataArray[0])+1; 
    	                nextDay = new Date(dataArray[2],dataArray[1]-1,giornoCheckOut);
    		        $( "#checkoutIframe" ).datepicker( "option", "minDate", nextDay );
    		}
    	}
    });

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.