Visualizzazione dei risultati da 1 a 6 su 6

Discussione: menu per mesi

  1. #1

    menu per mesi

    ciao a tutti,
    sono alla ricerca di uno script che mi permetta di avere un primo menu a tendina in cui indico 3-4 mesi, alla selezione di uno di questi si dovrebbe aprire un secondo menu con solo le domeniche di quel mese.

    spero in voi grazie.
    ---------------------------
    danielix05

  2. #2
    allora ti ho fatto uno script per estendere Date con ua funzione che ti ritorna un array con i giorni del mese indicato da month e year (NB month va da 0 = Gennaio a 11 = dicembre) che sono il giorno della settimana indicato (0 = Domenica, 1 = Lunedi, 2 = Martedi... 6 = Sabato)

    Codice PHP:
    //Questo estende Date con un array accedibile sia in modo statico che non, che contiene 
    //I giorni del mese
    Date.MONTHDAYS = [312831303130313130313031];
    Date.prototype.MONTHDAYS Date.MONTHDAYS;
                
    Date.weekDaysInMonth = function(weekDaymonthyear)
    {    
        
    //Ottengo i giorni per il mese passato            
        
    var days Date.MONTHDAYS[month];
        
    //Questo calcola se year è un anno bisestile, in caso affermativo
        
    if((year == && year 100 != 0) || year != 400 == 0)
            
    //Aggiunge uno al numero dei giorni se il mese è febbraio (month == 1)
            
    days month == days days;

        
    //L'array per il return            
        
    ret = [];
        
    //Oggetto Date per il calcolo del giorno, lo riuso per una questione di memoria
        
    = new Date();
        
    d.setMonth(month);
        
    d.setYear(year);

        
    //Per ogni giorno del mese
        
    for(1<= daysi++)
        {
            
    //Setto d con i dati del giorno
            
    d.setDate(i);

            
    //getDay torna il giorno della settimana 0= Domenica .. 6 = Sabato
            
    if(d.getDay() == weekDay){
                
    //Il giorno della settimana è uguale a quello passato, allora aggiungo il giorno all'array
                
    ret.push(i);
            }
        }
        
    //L'array
        
    return ret;

    Un utilizzo potrebbe essere:

    Date.weekDaysInMonth(0, 2, 2009);

    Ritorna tutte le domeniche di marzo 2009 mese
    I DON'T Double Click!

  3. #3

    GRAZIE artorius

    ma in questo modo io visualizzo gli intervalli di date ma sbaglio o non si crea un menu?

    io vorrei che da un menu a tendina scegliessi x es tra
    -marzo
    -aprile
    -maggio

    se scelgo marzo, si apre un menu a tendina accanto in cui appaiono le domeniche
    - 1
    - 8
    - 15 ecc...

    il file in cui lavoro è purtroppo in asp, pensavo potessimo risolvere con javascript
    che ne pensi?
    ---------------------------
    danielix05

  4. #4
    certo, quello che ti ho scritto ti risolve il problema di calcolare i giorni dopo aver scelto mese anno e giorno della settimana da visualizzare.

    La parte in HTML la puoi fare anche tu, no?
    I DON'T Double Click!

  5. #5

    seguendo javascript

    ho incontrato questo script che potrebbe fare al caso mio ma non riesco ad aggiungere una 3 e 4 select in modo da ottenere quattro tendine
    1- mese dal
    2- domeniche del mese dal
    3- mese al
    4- domeniche del mese al

    codice:
    <script type="text/javascript">
    var month = new Object()
    month["maggio"] = [{value:"2009/05/03", text:"domenica 3"},
                          {value:"2009/05/10", text:"domenica 10"},
                          {value:"2009/05/17", text:"domenica 17"},
                          {value:"2009/05/24", text:"domenica 24"},					  
                          {value:"2009/05/31", text:"domenica 31"}];
    month["giugno"] = [{value:"2009/05/03", text:"domenica 3"},
                          {value:"2009/05/10", text:"domenica 10"},
                          {value:"2009/05/17", text:"domenica 17"},
                          {value:"2009/05/24", text:"domenica 24"},					  
                          {value:"2009/05/31", text:"domenica 31"}];
    
    function setCities(chooser) {
        var newElem;
        var where = (navigator.appName == "Microsoft Internet Explorer") ? -1 : null;
        var cityChooser = chooser.form.elements["giorno"];
        while (cityChooser.options.length) {
            cityChooser.remove(0);
        }
        var choice = chooser.options[chooser.selectedIndex].value;
       
     var db = month[choice];
        newElem = document.createElement("option");
        newElem.text = "dal:";
        newElem.value = "";
        cityChooser.add(newElem, where);
        if (choice != "") {
            for (var i = 0; i < db.length; i++) {
                newElem = document.createElement("option");
                newElem.text = db[i].text;
                newElem.value = db[i].value;
                cityChooser.add(newElem, where);
            }
        }
    }
    </script>
    infine le select
    codice:
    <form name="form">
    <select name="mese" onchange="setCities(this)">
    <option value="" selected="selected">mese</option>
    <option value="maggio">Maggio</option>
    <option value="giugno">Giugno</option>
    <option value="luglio">Luglio</option>
    <option value="agosto">Agosto</option>
    <option value="settembre">Settembre</option>
    </select>_
    <select name="giorno">
    </select>
    mi potete dare una dritta?
    grazie
    ---------------------------
    danielix05

  6. #6

    c'è nessuno?

    ---------------------------
    danielix05

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.