Wert von einem Dropdown-Menü setzen

hury

Erfahrenes Mitglied
Hi,

ich habe ein Dropdown-Menü mit 2 Items: "Ja" / "Nein". Ich übergebe einen Wert und möchte dann das Menü entsprechend setzen, allerdings klappt es nicht.
Ich mache es so:

Code:
var hl_buchung ="<?php echo $_GET['hl_buchung'] ?>";
document.getElementById('hl_buchung').value= hl_buchung;

Wie würde es bei einer Radiogroup funktionieren?

Hab bei Selfhtml nichts dazu gefunden :(

Danke
 
Hi,

wenn Du eine Option in einer Select-Gruppe auswählen willst, kannst zu das zum einen über den Index (selectedIndex)
realisieren. Zum anderen kannst Du die Optionen durchlaufen und vergleichen, ob der aktuelle Wert mit einem übergebenen
übereinstimmt.

Ähnlich funktioniert das mit Radiobuttons.

Code:
<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>www.tutorials.de</title>
<meta name="author" content="Quaese" />
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript">
  <!--
function updateSelect1(intIndex){
  document.getElementById("h1_buchung").selectedIndex = intIndex;
}

function updateSelect2(strValue){
  // Selectobjekt erstellen
  var objSel = document.getElementById("h1_buchung");

  // Alle Optionen durchlaufen
  for(var i=0; i<objSel.length; i++){
    // Falls der aktuelle Wert mit dem übergebenen übereinstimmt -> markieren
    if(objSel.options[i].value.toLowerCase() == strValue.toLowerCase()){
      objSel.selectedIndex = i;
    }
  }
}

function updateRadio1(intIndex){
  document.formTest.elements["radiogroup1"][intIndex].checked = true;
}

function updateRadio2(strValue){
  // Array mit Radiobuttons mit gleichem Name erstellen
  var arrRadio = document.formTest.elements["radiogroup1"];

  // Array durchlaufen
  for(var i=0; i<arrRadio.length; i++){
    // Falls der aktuelle Wert mit dem übergebenen übereinstimmt -> markieren
    if(arrRadio[i].value.toLowerCase() == strValue.toLowerCase()){
      arrRadio[i].checked = true;
    }
  }
}
 //-->
</script>
</head>
<body >
<form name="formTest" method="" action="">
  <div>
    <select id="h1_buchung">
      <option value="op_01">Op 01</option>
      <option value="op_02">Op 02</option>
      <option value="op_03">Op 03</option>
      <option value="op_04">Op 04</option>
    </select>
    <button onclick="updateSelect1(2); return false;">Index</button>
    <button onclick="updateSelect2('op_04'); return false;">Value</button>
  </div>
  <div>
    <input type="radio" name="radiogroup1" value="r_01" />r_01<br />
    <input type="radio" name="radiogroup1" value="r_02" />r_02<br />
    <input type="radio" name="radiogroup1" value="r_03" />r_03<br />
    <button onclick="updateRadio1(1); return false;">Index</button>
    <button onclick="updateRadio2('r_03'); return false;">Value</button>
  </div>
</form>
</body>
</html>
Ich hoffe, Dein Problem richtig verstanden zu haben.

Ciao
Quaese
 
Vielen Dank,

so funktioniert´s jetzt. Mein Code:

Code:
  // Selectobjekt erstellen
  var objSel = document.getElementById("h1_buchung");

  // Alle Optionen durchlaufen
  for(var i=0; i<objSel.length; i++){
    // Falls der aktuelle Wert mit dem übergebenen übereinstimmt -> markieren
    if(objSel.options[i].value.toLowerCase() == hl_buchung.toLowerCase()){
      objSel.selectedIndex = i;
    }
  }

Das einzige Problem was noch besteht, ist dass der Begin der For-schleife ( for(var i=0; i<objSel.length; i++){ ) mit "Objekt Erwartet" quitiert wird.

Woran liegt das?

Grüße
Alex
 
Zurück