Toon posts:

[Javascript] Selectlijst automatisch op vandaag

Pagina: 1
Acties:
  • 119 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hoi,

Ik heb in HTML een selectlijstje met daarin de options van alle dagen (1-31).
Nu had ik graag dat automatisch vandaag uit het lijstje geselecteerd wordt.

Nu kan ik met dit:
code:
1
2
var datum = new Date()
document.write(datum.getDate())

de dag van vandaag oproepen.

Wie kan me verder helpen ?

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
* faabman is nog niet helemaal wakker 8)7

JavaScript:
1
2
3
4
5
6
var objSelect = document.form['form'].elements['select'];
for(var i = 0; i < objSelect.options.length; i++){
  if(objSelect.options[i].value == objDate.getDate()){
     objSelect.options[i].selected = true;
  }
}


JavaScript:
1
document.form['form'].elements['select'].value = objDate.getDate()


overigens zou ik er persoonlijk voor kiezen om dit serverside op te lossen...

[ Voor 178% gewijzigd door faabman op 18-12-2004 15:14 . Reden: iets meer verduideling ;) ]

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


Verwijderd

Topicstarter
Sorry, maar ik ben echt geen topper in JS.

Ik heb nu dit:
code:
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
<script language="javascript">
var objSelect = document.formulier.dag;
for(var i = 0; i < objSelect.options.length; i++){
  if(objSelect.options[i].value == objDate.getDate()){
     objSelect.options[i].selected = true;
  }
}
</script>

document.formulier.dag.value = objDate.getDate()
<form name="formulier">
<select name="dag">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
</form>


Ik weet ook wel dat dat lijntje boven het form ergens anders moet, maar ik zou niet weten waar !

  • Minos111
  • Registratie: Augustus 2002
  • Laatst online: 05-03-2012
code:
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
<form name="formulier">
<select name="dag">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
</form>

<script language="javascript">
var objSelect = document.formulier.dag;
var date = new Date();

for(var i = 0; i < objSelect.options.length; i++){
  if(objSelect.options[i].value == date.getDate()){
     objSelect.options[i].selected = true;
  }
}
</script>


De javascript code moet pas uitgevoerd worden op het moment dat de select geinitialiseerd is. Dit kan hetzij met een functie, hetzij door de javascript onder het form neer te zetten.

Verwijderd

Topicstarter
Ja, het werkt !!

En hoe kan ik dat nu ook voor de maand doen? Want dan is de value niet meer een getal...

  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

Voor diegene die een serverside oplossing zoeken heb ik een aardige functie liggen:

http://caseyard.com/archive/php/date_selector_function/

Website is verder even "buiten gebruik", maar deze pagina stond er nog :)

  • Minos111
  • Registratie: Augustus 2002
  • Laatst online: 05-03-2012
Of je de maanden tekstueel in de select values wilt zetten hangt af van de manier waarop je er iets mee wil gaan doen. Als de data op de server verwerkt moeten worden, dan kun je wellicht het beste de maanden wel met getallen uitdrukken (0=januari, 1=februari, etc.). En anders kun je iets doen als:

code:
1
2
3
4
5
6
7
8
9
10
11
<script type="text/javascript"><!--
var months = new Array("Januari", "Februari", ..., "December");
var objSelect = document.formulier.dag;
var date = new Date();

for(var i = 0; i < objSelect.options.length; i++) {
  if(objSelect.options[i].value == months[date.getMonth()]) {
     objSelect.options[i].selected = true;
  }
}
//--></script>

[ Voor 7% gewijzigd door Minos111 op 18-12-2004 16:50 ]


Verwijderd

Topicstarter
Ik heb de maanden als value nu wel getalletjes meegegeven en gebruik nu dit scriptje:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<script language="javascript">
var objSelectDag = document.reserveren.dag;
var date = new Date();

for(var i = 0; i < objSelectDag.options.length; i++){
  if(objSelectDag.options[i].value == date.getDate()){
     objSelectDag.options[i].selected = true;
  }
}
var maand = parseInt(date.getMonth()+1);
var objSelectMaand = document.reserveren.maand;
for(var i = 0; i < objSelectMaand.options.length; i++){
  if(objSelectMaand.options[i].value == maand){
     objSelectMaand.options[i].selected = true;
  }
}
var objSelectJaar = document.reserveren.jaar;
for(var i = 0; i < objSelectJaar.options.length; i++){
  if(objSelectJaar.options[i].value == date.getFullYear()){
     objSelectJaar.options[i].selected = true;
  }
}
</script>


Bedankt voor ieders hulp !
Pagina: 1