3 listboxen op SELECTED option aanpassen

Status
Niet open voor verdere reacties.

silkcom

Gebruiker
Lid geworden
11 okt 2000
Berichten
714
Ik wil graag het volgende:

Als in de ene listbox een andere optie wordt geselecteerd, dat moet bij de overige twee listboxen de optie "Niet" worden geselecteerd.
Helaas lukt dit niet door een fout op de onchange-regel waar ik niet uitkom:

Code:
<HTML>
<HEAD>
<TITLE>Test met 2 listboxes</TITLE>
<SCRIPT LANGUAGE="text/JavaScript">
function melding(veldnaam, veldindex){
  var disIndex = veldindex;
  var disNaam = veldnaam;
  alert(disNaam+":"+disIndex);
  document.getElementById('olst1').options[1].selected = true;
  document.getElementById('olst2').options[1].selected = true;
  document.getElementById('olst3').options[1].selected = true;
  document.getElementById(disNaam).options[disIndex].selected = true;
}
</SCRIPT>
</HEAD>
<BODY>
<FORM method="post" name="myform"> 
  <TABLE>
    <TR>
      <TD WIDTH='100'>Listbox 1</TD>
      <TD WIDTH='100'>Listbox 2</TD>
      <TD WIDTH='100'>Listbox 3</TD>
    <TR>
      <TD>
        <SELECT NAME='olst1' onchange='melding(this.name, this.selectedIndex);'>
          <OPTION VALUE='o' SELECTED>Oplopend</OPTION>
          <OPTION VALUE='n'>Niet</OPTION>
          <OPTION VALUE='a'>Aflopend</OPTION>
        </SELECT>
      </TD>
      <TD>
        <SELECT NAME='olst2' onchange='melding(this.name, this.selectedIndex);'>
          <OPTION VALUE='o'>Oplopend</OPTION>
          <OPTION VALUE='n' SELECTED>Niet</OPTION>
          <OPTION VALUE='a'>Aflopend</OPTION>
        </SELECT>
      </TD>
      <TD>
        <SELECT NAME='olst3' onchange='melding(this.name, this.selectedIndex);'>
          <OPTION VALUE='o'>Oplopend</OPTION>
          <OPTION VALUE='n' SELECTED>Niet</OPTION>
          <OPTION VALUE='a'>Aflopend</OPTION>
        </SELECT>
      </TD>
    </TR>
  </TABLE>
</FORM>
</BODY>
</HTML>
 
Hi,

of het een oorzaak is weet ik nog niet maar voor de eerste tabelrij mis ik geloof ik een afsluiten TR-tag
 
De error console van Firefox gaf als foutmelding dat hij "melding" niet kent.
Dat heb ik opgelost door
HTML:
<SCRIPT LANGUAGE="text/JavaScript">
te vervangen door
HTML:
<SCRIPT type="text/javascript">

Daarna werkte het nog steeds niet, omdat elke "document.getElementById" null oplevert. Om dit op te lossen moet je bij elke "select" nog een "id" toevoegen. Nu is er alleen een "name". Dus vervang
HTML:
<SELECT NAME='olst1' onchange='melding(this.name, this.selectedIndex);'>
door
HTML:
<SELECT NAME='olst1' id='olst1' onchange='melding(this.name, this.selectedIndex);'>
Dit moet je ook bij de andere "select"s veranderen.

Hierna werkte het bij mij.
 
Ik heb alleen de Script-language in Script-text gewijzigd en toen werkte het bij mij.
In ieder geval bedankt voor de hulp.
 
Heb je het toevallig alleen getest in IE? Ik geloof dat die een bug in "getElementById" heeft waardoor het daar wel werkt. In alle andere browsers hoort het niet te werken (getElementById hoort het element met een bepaald "id" op te leveren, niet het element met een bepaalde "name").
 
ik werk alleenmet IE en kreeg het wel werkend. Maar id heb nu ook het id erbijgezet zodat het ook voor andere browsers kan werken.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan