datum in select options aanpassen doormiddel van AJAX
Dit moet mogelijk zijn met Javascript/AJAX, maar ik kan op het net geen degelijke code vinden die hierover gaat.
dit is de code die ik tot nog toe heb:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<tr><label>Date of Birth (m/d/y):</label>
<td>
<select id="dobmonth" name="dobmonth">
<option disabled="disabled">Month</option>
<option value="1">1</option>
<option value="1">2</option>
<option value="1">3</option>
<option value="1">4</option>
<option value="1">5</option>
<option value="1">6</option>
<option value="1">7</option>
<option value="1">7</option>
<option value="1">9</option>
<option value="1">10</option>
<option value="1">11</option>
<option value="1">12</option>
</select>
<select id="dobday" name="dobday">
<option disabled="disabled">Day</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>7</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>17</option>
<option>18</option>
<option>19</option>
<option>20</option>
<option>21</option>
<option>22</option>
<option>23</option>
<option>24</option>
<option>25</option>
<option>26</option>
<option>27</option>
<option>28</option>
<option>29</option>
<option>30</option>
<option>31</option>
</select>
</td>
</tr>
<td>
<select id="dobmonth" name="dobmonth">
<option disabled="disabled">Month</option>
<option value="1">1</option>
<option value="1">2</option>
<option value="1">3</option>
<option value="1">4</option>
<option value="1">5</option>
<option value="1">6</option>
<option value="1">7</option>
<option value="1">7</option>
<option value="1">9</option>
<option value="1">10</option>
<option value="1">11</option>
<option value="1">12</option>
</select>
<select id="dobday" name="dobday">
<option disabled="disabled">Day</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>7</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>17</option>
<option>18</option>
<option>19</option>
<option>20</option>
<option>21</option>
<option>22</option>
<option>23</option>
<option>24</option>
<option>25</option>
<option>26</option>
<option>27</option>
<option>28</option>
<option>29</option>
<option>30</option>
<option>31</option>
</select>
</td>
</tr>
Ik heb enkel het deel dat op mijn vraag van toepassing geplaatst, het staat in een tabel en een form.
Noppes Homeland op 12/01/2011 21:10:59:
En zoals gewoonlijk weer eens te lui om op php.net te kijken:
http://www.php.net/date
http://www.php.net/strtotime
http://www.php.net/date
http://www.php.net/strtotime
die gaan over hoe je de datum van nu kunt verkrijgen dmv php. Dat is niet wat ik wil. De gebruiker moet zijn geboortedatum invullen in een formulier. De dagen zijn afhankelijk van de maanden en het moet direct verandern AJAX dus.
Oftewel te lui om alles te lezen ;P
Quote:
format character Description Example returned values
Day --- ---
d Day of the month, 2 digits with leading zeros 01 to 31
D A textual representation of a day, three letters Mon through Sun
j Day of the month without leading zeros 1 to 31
l (lowercase 'L') A full textual representation of the day of the week Sunday through Saturday
N ISO-8601 numeric representation of the day of the week (added in PHP 5.1.0) 1 (for Monday) through 7 (for Sunday)
S English ordinal suffix for the day of the month, 2 characters st, nd, rd or th. Works well with j
w Numeric representation of the day of the week 0 (for Sunday) through 6 (for Saturday)
z The day of the year (starting from 0) 0 through 365
Week --- ---
W ISO-8601 week number of year, weeks starting on Monday (added in PHP 4.1.0) Example: 42 (the 42nd week in the year)
Month --- ---
F A full textual representation of a month, such as January or March January through December
m Numeric representation of a month, with leading zeros 01 through 12
M A short textual representation of a month, three letters Jan through Dec
n Numeric representation of a month, without leading zeros 1 through 12
t Number of days in the given month 28 through 31
Year --- ---
L Whether it's a leap year 1 if it is a leap year, 0 otherwise.
o ISO-8601 year number. This has the same value as Y, except that if the ISO week number (W) belongs to the previous or next year, that year is used instead. (added in PHP 5.1.0) Examples: 1999 or 2003
Y A full numeric representation of a year, 4 digits Examples: 1999 or 2003
y A two digit representation of a year Examples: 99 or 03
Time --- ---
a Lowercase Ante meridiem and Post meridiem am or pm
A Uppercase Ante meridiem and Post meridiem AM or PM
B Swatch Internet time 000 through 999
g 12-hour format of an hour without leading zeros 1 through 12
G 24-hour format of an hour without leading zeros 0 through 23
h 12-hour format of an hour with leading zeros 01 through 12
H 24-hour format of an hour with leading zeros 00 through 23
i Minutes with leading zeros 00 to 59
s Seconds, with leading zeros 00 through 59
u Microseconds (added in PHP 5.2.2) Example: 654321
Timezone --- ---
e Timezone identifier (added in PHP 5.1.0) Examples: UTC, GMT, Atlantic/Azores
I (capital i) Whether or not the date is in daylight saving time 1 if Daylight Saving Time, 0 otherwise.
O Difference to Greenwich time (GMT) in hours Example: +0200
P Difference to Greenwich time (GMT) with colon between hours and minutes (added in PHP 5.1.3) Example: +02:00
T Timezone abbreviation Examples: EST, MDT ...
Z Timezone offset in seconds. The offset for timezones west of UTC is always negative, and for those east of UTC is always positive. -43200 through 50400
Full Date/Time --- ---
c ISO 8601 date (added in PHP 5) 2004-02-12T15:19:21+00:00
r » RFC 2822 formatted date Example: Thu, 21 Dec 2000 16:01:07 +0200
U Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT) See also time()
Day --- ---
d Day of the month, 2 digits with leading zeros 01 to 31
D A textual representation of a day, three letters Mon through Sun
j Day of the month without leading zeros 1 to 31
l (lowercase 'L') A full textual representation of the day of the week Sunday through Saturday
N ISO-8601 numeric representation of the day of the week (added in PHP 5.1.0) 1 (for Monday) through 7 (for Sunday)
S English ordinal suffix for the day of the month, 2 characters st, nd, rd or th. Works well with j
w Numeric representation of the day of the week 0 (for Sunday) through 6 (for Saturday)
z The day of the year (starting from 0) 0 through 365
Week --- ---
W ISO-8601 week number of year, weeks starting on Monday (added in PHP 4.1.0) Example: 42 (the 42nd week in the year)
Month --- ---
F A full textual representation of a month, such as January or March January through December
m Numeric representation of a month, with leading zeros 01 through 12
M A short textual representation of a month, three letters Jan through Dec
n Numeric representation of a month, without leading zeros 1 through 12
t Number of days in the given month 28 through 31
Year --- ---
L Whether it's a leap year 1 if it is a leap year, 0 otherwise.
o ISO-8601 year number. This has the same value as Y, except that if the ISO week number (W) belongs to the previous or next year, that year is used instead. (added in PHP 5.1.0) Examples: 1999 or 2003
Y A full numeric representation of a year, 4 digits Examples: 1999 or 2003
y A two digit representation of a year Examples: 99 or 03
Time --- ---
a Lowercase Ante meridiem and Post meridiem am or pm
A Uppercase Ante meridiem and Post meridiem AM or PM
B Swatch Internet time 000 through 999
g 12-hour format of an hour without leading zeros 1 through 12
G 24-hour format of an hour without leading zeros 0 through 23
h 12-hour format of an hour with leading zeros 01 through 12
H 24-hour format of an hour with leading zeros 00 through 23
i Minutes with leading zeros 00 to 59
s Seconds, with leading zeros 00 through 59
u Microseconds (added in PHP 5.2.2) Example: 654321
Timezone --- ---
e Timezone identifier (added in PHP 5.1.0) Examples: UTC, GMT, Atlantic/Azores
I (capital i) Whether or not the date is in daylight saving time 1 if Daylight Saving Time, 0 otherwise.
O Difference to Greenwich time (GMT) in hours Example: +0200
P Difference to Greenwich time (GMT) with colon between hours and minutes (added in PHP 5.1.3) Example: +02:00
T Timezone abbreviation Examples: EST, MDT ...
Z Timezone offset in seconds. The offset for timezones west of UTC is always negative, and for those east of UTC is always positive. -43200 through 50400
Full Date/Time --- ---
c ISO 8601 date (added in PHP 5) 2004-02-12T15:19:21+00:00
r » RFC 2822 formatted date Example: Thu, 21 Dec 2000 16:01:07 +0200
U Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT) See also time()
en zoiets zal vast ook wel kunne met javascript
Dus zoek, probeer uit, toon aan...........
Noppes Homeland op 12/01/2011 22:03:30:
Je moet verder kijken dan dat je neus lang is!!
en zoiets zal vast ook wel kunne met javascript
Dus zoek, probeer uit, toon aan...........
Quote:
format character Description Example returned values
Day --- ---
d Day of the month, 2 digits with leading zeros 01 to 31
D A textual representation of a day, three letters Mon through Sun
j Day of the month without leading zeros 1 to 31
l (lowercase 'L') A full textual representation of the day of the week Sunday through Saturday
N ISO-8601 numeric representation of the day of the week (added in PHP 5.1.0) 1 (for Monday) through 7 (for Sunday)
S English ordinal suffix for the day of the month, 2 characters st, nd, rd or th. Works well with j
w Numeric representation of the day of the week 0 (for Sunday) through 6 (for Saturday)
z The day of the year (starting from 0) 0 through 365
Week --- ---
W ISO-8601 week number of year, weeks starting on Monday (added in PHP 4.1.0) Example: 42 (the 42nd week in the year)
Month --- ---
F A full textual representation of a month, such as January or March January through December
m Numeric representation of a month, with leading zeros 01 through 12
M A short textual representation of a month, three letters Jan through Dec
n Numeric representation of a month, without leading zeros 1 through 12
t Number of days in the given month 28 through 31
Year --- ---
L Whether it's a leap year 1 if it is a leap year, 0 otherwise.
o ISO-8601 year number. This has the same value as Y, except that if the ISO week number (W) belongs to the previous or next year, that year is used instead. (added in PHP 5.1.0) Examples: 1999 or 2003
Y A full numeric representation of a year, 4 digits Examples: 1999 or 2003
y A two digit representation of a year Examples: 99 or 03
Time --- ---
a Lowercase Ante meridiem and Post meridiem am or pm
A Uppercase Ante meridiem and Post meridiem AM or PM
B Swatch Internet time 000 through 999
g 12-hour format of an hour without leading zeros 1 through 12
G 24-hour format of an hour without leading zeros 0 through 23
h 12-hour format of an hour with leading zeros 01 through 12
H 24-hour format of an hour with leading zeros 00 through 23
i Minutes with leading zeros 00 to 59
s Seconds, with leading zeros 00 through 59
u Microseconds (added in PHP 5.2.2) Example: 654321
Timezone --- ---
e Timezone identifier (added in PHP 5.1.0) Examples: UTC, GMT, Atlantic/Azores
I (capital i) Whether or not the date is in daylight saving time 1 if Daylight Saving Time, 0 otherwise.
O Difference to Greenwich time (GMT) in hours Example: +0200
P Difference to Greenwich time (GMT) with colon between hours and minutes (added in PHP 5.1.3) Example: +02:00
T Timezone abbreviation Examples: EST, MDT ...
Z Timezone offset in seconds. The offset for timezones west of UTC is always negative, and for those east of UTC is always positive. -43200 through 50400
Full Date/Time --- ---
c ISO 8601 date (added in PHP 5) 2004-02-12T15:19:21+00:00
r » RFC 2822 formatted date Example: Thu, 21 Dec 2000 16:01:07 +0200
U Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT) See also time()
Day --- ---
d Day of the month, 2 digits with leading zeros 01 to 31
D A textual representation of a day, three letters Mon through Sun
j Day of the month without leading zeros 1 to 31
l (lowercase 'L') A full textual representation of the day of the week Sunday through Saturday
N ISO-8601 numeric representation of the day of the week (added in PHP 5.1.0) 1 (for Monday) through 7 (for Sunday)
S English ordinal suffix for the day of the month, 2 characters st, nd, rd or th. Works well with j
w Numeric representation of the day of the week 0 (for Sunday) through 6 (for Saturday)
z The day of the year (starting from 0) 0 through 365
Week --- ---
W ISO-8601 week number of year, weeks starting on Monday (added in PHP 4.1.0) Example: 42 (the 42nd week in the year)
Month --- ---
F A full textual representation of a month, such as January or March January through December
m Numeric representation of a month, with leading zeros 01 through 12
M A short textual representation of a month, three letters Jan through Dec
n Numeric representation of a month, without leading zeros 1 through 12
t Number of days in the given month 28 through 31
Year --- ---
L Whether it's a leap year 1 if it is a leap year, 0 otherwise.
o ISO-8601 year number. This has the same value as Y, except that if the ISO week number (W) belongs to the previous or next year, that year is used instead. (added in PHP 5.1.0) Examples: 1999 or 2003
Y A full numeric representation of a year, 4 digits Examples: 1999 or 2003
y A two digit representation of a year Examples: 99 or 03
Time --- ---
a Lowercase Ante meridiem and Post meridiem am or pm
A Uppercase Ante meridiem and Post meridiem AM or PM
B Swatch Internet time 000 through 999
g 12-hour format of an hour without leading zeros 1 through 12
G 24-hour format of an hour without leading zeros 0 through 23
h 12-hour format of an hour with leading zeros 01 through 12
H 24-hour format of an hour with leading zeros 00 through 23
i Minutes with leading zeros 00 to 59
s Seconds, with leading zeros 00 through 59
u Microseconds (added in PHP 5.2.2) Example: 654321
Timezone --- ---
e Timezone identifier (added in PHP 5.1.0) Examples: UTC, GMT, Atlantic/Azores
I (capital i) Whether or not the date is in daylight saving time 1 if Daylight Saving Time, 0 otherwise.
O Difference to Greenwich time (GMT) in hours Example: +0200
P Difference to Greenwich time (GMT) with colon between hours and minutes (added in PHP 5.1.3) Example: +02:00
T Timezone abbreviation Examples: EST, MDT ...
Z Timezone offset in seconds. The offset for timezones west of UTC is always negative, and for those east of UTC is always positive. -43200 through 50400
Full Date/Time --- ---
c ISO 8601 date (added in PHP 5) 2004-02-12T15:19:21+00:00
r » RFC 2822 formatted date Example: Thu, 21 Dec 2000 16:01:07 +0200
U Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT) See also time()
en zoiets zal vast ook wel kunne met javascript
Dus zoek, probeer uit, toon aan...........
Volgens mij snap je mijn vraag niet. Dit hierboven weet ik allemaal en heb ik niet nodig. Het gaat om het refresh gedeelte, hoe ik dat voor elkaar krijg. Niet hoe ik cijfertjes en maanden op mijn scherm krijg maar hoe de connectie tussen select 1 en select 2 wordt gelegd.
Dus in select 1 is een bepaalde waarde aangeklikt en doormiddel van AJAX moet select 2 worden veranderd afhankelijk van wat er bij select 1 is gekozen. Het gaat om het refreshen dus. Nogmaals niet de codes om een datum maand of zoiets op te halen.
Dat is niet wat de TS bedoelt. De TS bedoelt dat wanneer je bij de ene form-select een maand selecteert (bijvoorbeeld februari) dat de andere form-select automatisch aanpast naar 29 dagen en dus geen 30 of 31. Dan moet je dus dmv ajax in elkaar bouwen.
Zelf heb ik overigens geen verstand van javascript/ajax dus kan je niet helpen. Maar dacht, ik verduidelijk de boel ff.
The Ultimate op 12/01/2011 22:08:38:
@noppes:
Dat is niet wat de TS bedoelt. De TS bedoelt dat wanneer je bij de ene form-select een maand selecteert (bijvoorbeeld februari) dat de andere form-select automatisch aanpast naar 29 dagen en dus geen 30 of 31. Dan moet je dus dmv ajax in elkaar bouwen.
Zelf heb ik overigens geen verstand van javascript/ajax dus kan je niet helpen. Maar dacht, ik verduidelijk de boel ff.
Dat is niet wat de TS bedoelt. De TS bedoelt dat wanneer je bij de ene form-select een maand selecteert (bijvoorbeeld februari) dat de andere form-select automatisch aanpast naar 29 dagen en dus geen 30 of 31. Dan moet je dus dmv ajax in elkaar bouwen.
Zelf heb ik overigens geen verstand van javascript/ajax dus kan je niet helpen. Maar dacht, ik verduidelijk de boel ff.
het is juist dat in elkaar bouwen. Ik weet niet hoe ik dat moet beginnen, ik heb wel wat geprobeerd maar mijn AJAX kennis is zeer minimaal, dus het werkte niet.
Je zou in de onchange van de maandkiezer een functie kunnen uitvoeren die het aantal dagen van de gekozen maand ophaalt uit een array. Javascript, in tegenstelling tot php, blijft leven op de pagina, dus die array is beschikbaar. Houd in de dagselector van 1-31 aan boord, maar schakel op grond van het verkregen aantal dagen de 'rest' uit. Of, hanteer 4 dagselectors (van 28, 29, 30 en 31 dagen) en maak steeds de juiste zichtbaar.
Bas Cost Budde op 12/01/2011 23:45:42:
Dit hoeft helemaal niet ajax. Het aantal dagen per maand ligt al eeuwen vast.
Je zou in de onchange van de maandkiezer een functie kunnen uitvoeren die het aantal dagen van de gekozen maand ophaalt uit een array. Javascript, in tegenstelling tot php, blijft leven op de pagina, dus die array is beschikbaar. Houd in de dagselector van 1-31 aan boord, maar schakel op grond van het verkregen aantal dagen de 'rest' uit. Of, hanteer 4 dagselectors (van 28, 29, 30 en 31 dagen) en maak steeds de juiste zichtbaar.
Je zou in de onchange van de maandkiezer een functie kunnen uitvoeren die het aantal dagen van de gekozen maand ophaalt uit een array. Javascript, in tegenstelling tot php, blijft leven op de pagina, dus die array is beschikbaar. Houd in de dagselector van 1-31 aan boord, maar schakel op grond van het verkregen aantal dagen de 'rest' uit. Of, hanteer 4 dagselectors (van 28, 29, 30 en 31 dagen) en maak steeds de juiste zichtbaar.
Ik heb zoiets geprobeerd, maar niet met een array omdat ik daar niet zo goed in ben. En heb daar ook niet bij stil gestaan. Ik heb enkel wat vagen ideeën erbij hoe dit zou kunnen werken, ik ga er maar een nachtje over nadenken. Indien je nog meer tips hebt hoor ik het graag ^^
Noppes Homeland op 12/01/2011 21:10:59:
En zoals gewoonlijk weer eens te lui om op php.net te kijken:
Je moet verder kijken dan dat je neus lang is!!
Je moet verder kijken dan dat je neus lang is!!
Fijne reacties hoor Noppes. Als jij nou eerst eens goed leest wat de topic starter wil in plaats van dat je dit soort ongenuanceerde reacties gaat plaatsen...
@topic starter: ik heb een javascript code voor je gezocht die lijkt te doen wat jij wil: http://javascript.internet.com/time-date/date-selector.html
Ozzie PHP op 13/01/2011 01:40:14:
Fijne reacties hoor Noppes. Als jij nou eerst eens goed leest wat de topic starter wil in plaats van dat je dit soort ongenuanceerde reacties gaat plaatsen...
@topic starter: ik heb een javascript code voor je gezocht die lijkt te doen wat jij wil: http://javascript.internet.com/time-date/date-selector.html
Noppes Homeland op 12/01/2011 21:10:59:
En zoals gewoonlijk weer eens te lui om op php.net te kijken:
Je moet verder kijken dan dat je neus lang is!!
Je moet verder kijken dan dat je neus lang is!!
Fijne reacties hoor Noppes. Als jij nou eerst eens goed leest wat de topic starter wil in plaats van dat je dit soort ongenuanceerde reacties gaat plaatsen...
@topic starter: ik heb een javascript code voor je gezocht die lijkt te doen wat jij wil: http://javascript.internet.com/time-date/date-selector.html
Dat is inderdaar precies wat ik nodig heb! Je bent super! Dankjewel =) (zitten zelfs de schrikkeljaren in zie ik)
Je hebt een vreemde manier om select / option te gebruiken.
Een option werkt zo:
Wanneer je een select doorstuurt (op submit gedrukt), wordt de value van de option doorgestuurd.
waarde_die_getoond_wordt hoeft absoluut geen verband te houden met waarde_die_je_wil_doorsturen.
bv. voor maanden kan je zo-iets doen
Kris Peeters op 13/01/2011 11:05:50:
@topic starter:
Je hebt een vreemde manier om select / option te gebruiken.
Een option werkt zo:
Wanneer je een select doorstuurt (op submit gedrukt), wordt de value van de option doorgestuurd.
waarde_die_getoond_wordt hoeft absoluut geen verband te houden met waarde_die_je_wil_doorsturen.
bv. voor maanden kan je zo-iets doen
Je hebt een vreemde manier om select / option te gebruiken.
Een option werkt zo:
Wanneer je een select doorstuurt (op submit gedrukt), wordt de value van de option doorgestuurd.
waarde_die_getoond_wordt hoeft absoluut geen verband te houden met waarde_die_je_wil_doorsturen.
bv. voor maanden kan je zo-iets doen
Ik weet van de values enzo af maar ik was aan het focusessen op het zorgen dat select 2 werd veranderd. Wat er dus in die opties stond maakt mij niet zo zeer uit. Maar ik heb inmiddels een script gekregen hier, wat doet dat ik zoek dat het moet doen. Uh... hoe sluit je een topid (nieuw op forum ^^'' )
Sja, we sluiten een topic niet echt. Het is geen helpdesk (dan zou ik het liever wel hebben, zaak opgelost -> kees kloost.)
http://javascript.internet.com/time-date/date-selector.html die mij hierboven werd aangeboden, maar nu zit ik toch met een probleempje.
In onderstaande code wordt de value 31 meegegeven (of 28 of 30 afhankelijk van de maand)
Maar ik zou juist de maand code willen hebben (dus 01 02 03 etc), want als ik nu de value opvraag krijg ik dus enkel 38 30 of 31. Iemand een suggestie?
(de rest van de code staat overigens in de link)
Ik heb de code gebruikt van In onderstaande code wordt de value 31 meegegeven (of 28 of 30 afhankelijk van de maand)
Maar ik zou juist de maand code willen hebben (dus 01 02 03 etc), want als ik nu de value opvraag krijg ik dus enkel 38 30 of 31. Iemand een suggestie?
(de rest van de code staat overigens in de link)