Selectbox verändern
Patrick
- javascript
Hi Forum,
ich übernehme aus einem Popup mit folgender Funktion Daten in meine Eingabefelder:
opener.document.forms["formular1"].elements["name"].value = a;
Das funktioniert auch.
Jetzt meine Frage: Gibt es die Möglichkeit auch einen Wert in einem Selectfeld mittels dieser Methode auf "selected" zu setzen?
Vielen Dank
Patrick
Bin mir nich ganz sicher aber ich glaube so:
opener.document.formular1.value = 'Neuer Wert ...';
Hi Forum,
ich übernehme aus einem Popup mit folgender Funktion Daten in meine Eingabefelder:
opener.document.forms["formular1"].elements["name"].value = a;
Das funktioniert auch.
Jetzt meine Frage: Gibt es die Möglichkeit auch einen Wert in einem Selectfeld mittels dieser Methode auf "selected" zu setzen?Vielen Dank
Patrick
sry!
das war ja n select :D hatte ich aber hier schonma gefunden ... nutz ma die suche!
<script type="text/javascript">
function CheckAuswahl () {
if (document.Testform.Auswahl.options[2].selected == true) {
alert("Diese Auswahl gilt nicht");
return false;
}
return true;
}
</script>
vielleicht hilft das ...
Hi Dani,
erst mal Danke für deine Hilfe.
Ich kann mein Selectfeld ja über die ID in options ansprechen. Das klappt. Gibt es aber auch die Möglichkeit, das Teil über die Value anzusprechen, das sich diese bei mir verändert?
So siehts aus und klappt auch auf klick:
opener.document.forms["formular1"].auswahl.options[1].selected = true;
Danke
Patrick
Value ändern geht so:
<script>
function change(){
alert(document.formu.selctone.options[0].value);
document.formu.selctone.options[0].value = 'laber 2';
alert(document.formu.selctone.options[0].value);
}
</script>
</head>
<body>
<form name="formu">
<select name="selctone">
<option value="laberblabla">Laber</option>
</select>
</form>
<a href="#" onclick="change()">Ändern</a>
Wie du die anzeige aber änderst weiß ich im mom nich ...
Musst das natürlich nur noch auf den opener beziehen ...
oder meinst du eine checkbox?
n'abend,
oder meinst du eine checkbox?
Er hat ein <select>, weiss den Wert (value) einer <option> und möchte, dass eben diese <option> mit dem bekannten Wert selektiert wird.
beantwortet wurde die frage hier
weiterhin schönen abend...
Hi Dani,
dank dir für deine Hilfe. ABER ich hab mich falsch ausgedrückt.
Ich möchte nicht die Value ändern, sondern über die value auf das selected zugreifen.
Danke
Patrick
Hallo Patrick,
Hi Dani,
dank dir für deine Hilfe. ABER ich hab mich falsch ausgedrückt.
Ich möchte nicht die Value ändern, sondern über die value auf das selected zugreifen.
dann lies alle Values in ein Assoziative Arrays ein und gib ihnen den boolischen Wert von select mit. Angenommen Du hast die Values: foo, bar, baz und bar ist ausgewählt, dann hast Du so ein Array:
Array['foo'] = false;
Array['bar'] = true;
Array['baz'] = false;
Das Array erstellst Du immer beim Laden der Seite. Dazu einfach, wie Du schon schrioebst, die options durchlaufen. Wenn Du nun ein Value haben willst, dann gehst Du ins erstelle Array und kannst am Wert erkennne, ob er ausgewählt ist...
Mit freundlichem Gruß
Micha
n'abend,
dann lies alle Values in ein Assoziative Arrays ein und gib ihnen den boolischen Wert von select mit. Angenommen Du hast die Values: foo, bar, baz und bar ist ausgewählt, dann hast Du so ein Array:
Array['foo'] = false;
Array['bar'] = true;
Array['baz'] = false;
>
> Das Array erstellst Du immer beim Laden der Seite. Dazu einfach, wie Du schon schrioebst, die options durchlaufen. Wenn Du nun ein Value haben willst, dann gehst Du ins erstelle Array und kannst am Wert erkennne, ob er ausgewählt ist...
Mir entzieht sich der Sinn dahinter ein weiteres Array (Hash) anzulegen um an die momentan selektierte Option zu kommen. Dieses Problem hat Patrick bereits gelöst.
Er möchte eine <option> - von welcher er den Wert kennt - selektieren (und alle anderen deselektieren).
weiterhin schönen abend...
--
wer braucht schon großbuchstaben?
sh:( fo:# ch:# rl:° br:> n4:& ie:{ mo:} va:) de:] zu:} fl:{ ss:? ls:[ js:|
Hi,
ich werds nachher mal versuchen.
Danke an euch für eure Hilfe.
Bye
Patrick
Hallo globe,
Mir entzieht sich der Sinn dahinter ein weiteres Array anzulegen um an die momentan selektierte Option zu kommen.
Mit entzieht sich aufs brutalste der Sinn Deiner Antwort.
Dieses Problem hat Patrick bereits gelöst.
Nö, sonst würde er nicht weiter fragen. Er möchte:
Das hat er auch vorher schon einmal exakt so gesagt
Daraus lese ich, ich suche eine Funktion, die mir an Hand des Option-Values dieses zurückliefert _ohne_ immer eine zeitintensive Schleife zu durchlaufen: Das könnte, wie gesagt, ein weiteres Objekt eben machen:
var A = new Array();
window.onload = function() {
var OO = document.forms[0].Auswahl.options;
for (var i=0; i<OO.length; i++)
A[OO[i].value] = OO[i];
}
function getElementByOptionValue(v){
return (typeof A[v]!=undefined)?A[v]:null;
}
Er möchte eine <option> - von welcher er den Wert kennt - selektieren
Ja!
(und alle anderen deselektieren).
Das konnte ich bisher nicht rauslesen...
Mit freundlichem Gruß
Micha
n'abend,
dank dir für deine Hilfe. ABER ich hab mich falsch ausgedrückt.
Ich möchte nicht die Value ändern, sondern über die value auf das selected zugreifen.
Da der Wert einer Option aber in keinem Hash / Array / whatever zur Verfügung steht, bleibt dir nichts anderes übrig, als alle Optionen in deinem <select> zu durchlaufen, den wert zu prüfen und entsprechend zu handeln.
weiterhin schönen abend...
n'abend,
opener.document.forms["formular1"].elements["name"].value = a;
Das funktioniert auch.
Jetzt meine Frage: Gibt es die Möglichkeit auch einen Wert in einem Selectfeld mittels dieser Methode auf "selected" zu setzen?
nein. das musst du leider von hand machen. etwa so:
// hole dir dein objekt
var deinObjekt = document.getElementById('deinSelectFeld');
// erweitere das Objekt um die Funktion selectOptionByValue
deinObjekt.selectOptionByValue = function( value )
{
for(var i = 0; i < this.options.length; i++)
{
if( this.options[i].value == value )
this.options[i].selected = true;
else
this.options[i].selected = false;
}
}
// selektiere eine neue option
deinObject.selectOptionByValue( 'irgendwas' );
weiterhin schönen abend...