StevePMedlem sedan mars 2003772 inlägg Detta verkar vara nåt som enbart påverkar Selectlistor.
Klickar jag på "Trevor Deadman" i den första selectlistan
Så selectas "Trevor Deadman" i den andra selectlistan Automatiskt och så ska det vara.
Klickar jag på "Trevor Deadman" i den mittersta selectlistan så selectas "Trevor Deadman" i den sista selectlistan och så ska det också vara. Men När jag klickar på "Trevor Deadman" i den första selectlistan så markeras "Trevor Deadman" i den mittersta selectlistan automatiskt men han markeras inte i den Sista. Den sista markeras bara om man klickar på den mittersta och inte när den automarkeras.
<script id="ClientEventHandler" Language="JavaScript">
function matchStartStefan(t,obj){
for(var i=0;i<obj.length;i++){
obj[i].selected=(t==obj[i].text);
}
document.forms[0].Person.value = document.forms[0].ListedPersons[document.forms[0].ListedPersons.selectedIndex].text;
}
function matchStartListedPersons(t,obj){
for(var i=0;i<obj.length;i++){
obj[i].selected=(t==obj[i].text);
}
}
</script>
<br>
<form>
<select size="4" name="Stefan" onChange="matchStartStefan(this[this.selectedIndex].text,this.form.ListedPersons);">
<option value="9340">Stefan Andersson</option>
<option value="9345">Trevor Deadman</option>
<option value="9340">Stefan Andersson</option>
<option value="9343">Trevor Mason</option>
<option value="9341">Trevor M</option>
<option value="9342"></option>
</select>
<br><br><br><br><br><br>
<select size="4" name="ListedPersons" onChange="this.form.Person.value=this[this.selectedIndex].text; matchStartListedPersons(this[this.selectedIndex].text,this.form.Person);">
<option value="9340">Stefan Andersson</option>
<option value="9345">Trevor Deadman</option>
<option value="9343">Trevor Mason</option>
<option value="9341">Trevor M</option>
<option value="9342"></option>
</select>
<br><br><br><br><br><br>
<select size="4" name="Person">
<option value="9340">Stefan Andersson</option>
<option value="9345">Trevor Deadman</option>
<option value="9343">Trevor Mason</option>
<option value="9341">Trevor M</option>
<option value="9342"></option>
</select>
</form>
@ndersMedlem sedan juni 200032 969 inlägg Onchange triggas inte när du gör programmatiska ändringar av vilken 'post' som är vald, utan det är endast 'manuell' ändring. Så det är egentligen korrekt. Det du får göra är att göra ändrings-anropet till den sista också, i onchange-handlern som tillhör den första selectlistan. Under vilka förutsättningar ska den sista också markeras?
(hmm, det är knappt jag själv förstår vad jag skrivit... :/)
StevePMedlem sedan mars 2003772 inlägg hehe!
Man markerar den översta och då markeras den mittersta, och när den mittersta har markerats så ska den undre markeras.
Men man ska inte behöva klicka manuellt på den mittersta :(
StevePMedlem sedan mars 2003772 inlägg Såhär fick ja göra
onChange="matchStartStefan(this[this.selectedIndex].text,this.form.ListedPersons); matchStartListedPersons(this[this.selectedIndex].text,this.form.Person);">
Tack Igen!!
@ndersMedlem sedan juni 200032 969 inlägg Det var så jag tänkte att du skulle göra.
Men jag förstod inte om den sista alltid skulle markeras också, din problembeskrivning var lite luddig. Inte luddigare än mitt svar dock. ;) :e
Mvh
StevePMedlem sedan mars 2003772 inlägg Nu e jag jobbig igen =)
Säg att dom två översta relateras genom "Value" men den mittersta relateras till den sista genom "Text"
Nu går det ju inte att göra som jag gjorde ovan. Nu måste man klicka manuellt på den mittersta för att den sista ska bli markerad :(
Kan den inte på nåt sett känna av att den mittersta är klickad när den automarkeras? Så man slipper markera den manuelt.
<head>
<script id="ClientEventHandler" Language="JavaScript">
function matchStartStefan(t,obj){
for(var i=0;i<obj.length;i++){
obj[i].selected=(t==obj[i].value);
}
}
function matchStartListedPersons(t,obj){
for(var i=0;i<obj.length;i++){
obj[i].selected=(t==obj[i].text);
}
}
</script>
<br>
<form>
<select size="4" name="Stefan" onChange="matchStartStefan(this[this.selectedIndex].value,this.form.ListedPersons); matchStartListedPersons(this[this.selectedIndex].text,this.form.Person);">
<option value="9340">Musse</option>
<option value="9345">Musse1</option>
<option value="9340">Musse2</option>
<option value="9343">Musse3</option>
<option value="9341">Musse4</option>
<option value="9342"></option>
</select>
<br><br><br><br><br><br>
<select size="4" name="ListedPersons" onChange="this.form.Person.text=this[this.selectedIndex].text; matchStartListedPersons(this[this.selectedIndex].text,this.form.Person);">
<option value="9340">Stefan Andersson</option>
<option value="9345">Trevor Deadman</option>
<option value="9340">Stefan Andersson</option>
<option value="9343">Trevor Mason</option>
<option value="9341">Trevor M</option>
<option value="9342"></option>
</select>
<br><br><br><br><br><br>
<select size="4" name="Person">
<option value="5">Stefan Andersson</option>
<option value="5">Trevor Deadman</option>
<option value="5">Trevor Mason</option>
<option value="5">Trevor M</option>
<option value="5"></option>
</select>
</form>
</head>
StevePMedlem sedan mars 2003772 inlägg Nu fick jag rättsida på det.
Fick lägga till på min första funktion
function matchStartStefan(t,obj){
for(var i=0;i<obj.length;i++){
obj[i].selected=(t==obj[i].value);
}
obj.onchange();
}