[JS] Selectbox 1 -> Selectbox 2

Pagina: 1
Acties:

  • willyb
  • Registratie: November 2002
  • Laatst online: 30-11 12:17
Ik zal er allicht overheen kijken, maar zit nu al aardig wat tijd te spelen met het volgende:

Ik heb 2 select boxen:

<select name='1[one]' onchange='change(1,this.selectedIndex);'>
<option id='0'>something</option>
<option id='1'>something else</option>
</select>

--nb; oplossing is dus change('1',....)

<select name='1[two]' onchange='change(1,this.selectedIndex);'>
<option id='0'>something totally</option>
<option id='1'>something totally else</option>
</select>

en probeer dus de functie change te maken.
Die functie moet ervoor zorgen dat als ik in de eerste combobox iets selecteer, de 2e combobox hetzelfde gaat aangeven....
Zit ik iets onmogelijks te proberen wellicht?

[ Voor 3% gewijzigd door willyb op 15-12-2006 20:03 . Reden: oplossing in vraag erbij gezet ]


  • willyb
  • Registratie: November 2002
  • Laatst online: 30-11 12:17
Inmiddels gedeelte verder:

<select name="1[one]" id="select1" onchange="document.getElementById('select2').selectedInded=this.selectedIndex">

<select name="1[two]" id="select2" onchange="document.getElementById('select1').selectedInded=this.selectedIndex">

Dat helpt :)

Probleem echter nog niet opgelost omdat ik het wel netjes in een apparte functie wil zetten... en dan loop ik tegen dit aan:

function change(lineid,index){
what = document.getElementById('o030100032');
what.selectedIndex = 1;
}

Bovenstaande werkt,
maar als ik het iets aanpast tot:


function change(lineid,index){
what = document.getElementById('o'+lineid+'2');
what.selectedIndex = 1;
}

blijf ik melding houden dat what. onbekend is..

Iemand enig idee?

  • willyb
  • Registratie: November 2002
  • Laatst online: 30-11 12:17
Goed.... probleem inmiddels opgelost...

mocht iemand ooit tegen hetzelfde aanlopen... zorg ervoor dat je nummers die je de functie instuurt tussen ' en ' zet (of " " )... op een of andere manier willen de nummertjes anders wel eens iets willekeurigs gaan worden...

[ Voor 5% gewijzigd door willyb op 15-12-2006 20:02 ]


  • The Milkman
  • Registratie: Maart 2004
  • Laatst online: 29-09 21:41

The Milkman

█████░░░░░ 50%

Prachtig! Iemand die zijn eigen problemen oplost :)
Nouja, wellicht inderdaad een leuke referentiepost voor anderen ;)

𓆑 𓆑 𓆑 𓆑 𓆑 𓆑


Verwijderd

SelectedIndex geeft alleen maar de opties die je kunt selecteren weer, in de volgorde zoals je de options hebt neergezet. Als je 2 opties hebt (ongeacht de value of id) kun je hiervoor dus 0 of 1 invullen, of een van deze getallen terug krijgen.

Als je dus de <select> tags synchroniseerd in HTML, is het helemaal niet moeilijk om te zorgen dat deze dezelfde opties aangeven als je de ene <select> veranderd. Als je echter de option lijst zelf door elkaar gaat halen, moet je een functie bedenken die de values bij elkaar zoekt.

Mijn code ziet er als volgt uit:

HTML:
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
<html>
<head>

<script>

function change(id, index)
{
    document.getElementById(id).selectedIndex = index;
}

</script>

</head>
<body>

<select id="one" onchange="change('two', this.selectedIndex);">
    <option>Uit</option>
    <option>Aan</option>
</select>

<select id="two" onchange="change('one', this.selectedIndex);">
    <option>Uit</option>
    <option>Aan</option>
</select>

</body>
</html>


Tenzij ik iets niet begrijp van wat je wilt bereiken, vind ik de werking hiervan eenvoudiger in elkaar zitten als hetgeen je in je 2e post had aangegeven... :P