webForumDet fria alternativet

options[0].selected?

10 svar · 396 visningar · startad av mozilla

mozillaMedlem sedan juli 20011 084 inlägg
#1

Jag har en select lista där man via knappar kan markera värden i listan, det är ingen MULTIPLE lisa så man kan bara markera ett alternativ. Men jag får inte min avmarkeraknapp att fungera? Hur ska jag göra det? jag markerar dem genom:

options[0].selected = true

att ändra till false fungerar inte, det går dock om man gör om listan till MULTIPLE, men det vill jag inte. Hur löser man det?

mikkeXMedlem sedan aug. 2002477 inlägg
#2

options[0] är det första valet på menyn, eftersom javascript räknar '1' som '0'.

Vet inte riktigt vad du vill åstadkomma men här är i alla fall i en liten funktion som markerar olika poster - varav första alternativet är 'tom':

<script type="text/javascript">
<!--
function andraVal(vilken) {
    document.form1.minMeny.selectedIndex = vilken;
}
//-->
</script>

Och formuläret:

<form name="form1" action="">
  <select name="minMeny">
  <option value="0"></option>
    <option value="1">ett</option>
    <option value="2">tv&aring;</option>
    <option value="3">tre</option>
  </select>
</form>

och valen:

<a href="javascript:andraVal(0)">inget</a> 
<a href="javascript:andraVal(1)">ett</a> 
<a href="javascript:andraVal(2)">tv&aring;</a> 
<a href="javascript:andraVal(3)">tre</a>
mozillaMedlem sedan juli 20011 084 inlägg
#3

jo så långt har jag kommit, men jag vill ha en "avmarkera" knapp, som gör så att inget alternativ har focus?

mikkeXMedlem sedan aug. 2002477 inlägg
#4

Hänger inte med - varför vill göra den ur fokus.

Här har du en sådan funktion - vad den nu gör för nytta:

<!--
function andraVal(vilken) {
    document.form1.minMeny.selectedIndex = vilken;
}

function ingeFokus(vilken) {
    document.form1.minMeny.blur();
}
//-->
</script>

Och menyn igen

<form name="form1" action="">
  <select name="minMeny">
  <option value="0"></option>
    <option value="1">ett</option>
    <option value="2">tv&aring;</option>
    <option value="3">tre</option>
  </select>
</form>

och till slut länkarna:

<a href="javascript:ingeFokus(0)">inget</a> 
<a href="javascript:andraVal(1)">ett</a> 
<a href="javascript:andraVal(2)">tv&aring;</a> 
<a href="javascript:andraVal(3)">tre</a>

Men som sagt, jag förstår inte riktigt meningen, så därför är det väl kanske inte en sådan här funktion du är ute efter...

mozillaMedlem sedan juli 20011 084 inlägg
#5

Okej, fokus var inte rätt val av ord, det jag menar är att den inte ska vara markerad. dvs selected = false;(men de fungerar inte så klart)

Jag vill att listan ska se ut som den gjorde när man kom in på sidan, dvs inget alternativ ska vara markerat.(blåfärgade i ie)

JojoxxMedlem sedan juni 20004 308 inlägg
#6

När en selectlista (som har size 2 eller mer) laddas (och du inte har "selected" på något av dess options) har den selectedIndex -1 vilket du kan återställa den till när du vill för att "avmarkera" valt alternativ. Är det så du menar?

mozillaMedlem sedan juli 20011 084 inlägg
#7

precis så... tackar :e

mikkeXMedlem sedan aug. 2002477 inlägg
#8

Aha :-)

pnisv97Medlem sedan apr. 200248 inlägg
#9

Det fungerar jättebra när id alltid stämmer överens med förekomsten i select satsen.
Men hur ska man göra om mina två select boxar är sorterade efter Option texten ?? Jag vill alltså att väljer man Abortiporus biennis i första select boxen så ska id=228 visas i andra text boxen..

HJÄLP !!..

<select name="redlistspecies1" class="enkatselect" onChange="this.form.redlistspecies2.selectedIndex = this.options[this.selectedIndex].value"> 
<option value="0">Välj -></option>
<option value="228">Abortiporus biennis</option>
<option value="357">Abrostola triplasia</option>
<option value="91">Acer campestre</option>
<option value="552">Acipenser sturio </option>
<option value="356">Acleris quercinana</option>
</select>

<select name="redlistspecies2" class="enkatselect" onChange="this.form.redlistspecies1.selectedIndex = this.options[this.selectedIndex].value"> 
<option value="0" selected>Välj -></option>
<option value="357">barkänger</option>
<option value="552">bastardpärlemorfjäril</option>
<option value="356">bergand</option>
<option value="228">berglärka</option>
</select>

Tack på förhand..

pnisv97Medlem sedan apr. 200248 inlägg
#10

Är det verkligen ingen som kan detta ??

:)

mozillaMedlem sedan juli 20011 084 inlägg
#11

Du får nog göra ett lite större script för detta. För selectedIndex känner ju av vilken post du har markerat. Så gör istället en for loop där du går igenom alla options, och den som har samma value sätter du selectedIndex på. Jag kan tyvärr inte ju så mycket bättre svar, då jag själv inte är helt hundra. men tror det skulle fungera.

något i stil med(helt otestad)

for(i=0;i< document.forms[0].redlistspecies2.length;i++){
if(document.forms[0].redlistspecies2[i].value == document.forms[0].redlistspecies1[document.forms[0].redlistspecies1.selectedIndex].value) { document.forms[0].redlistspecies2[i].selected = true; }
}
254 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
129 ms — hämta forumlista (db)
120 ms — hämta statistik (db)
132 ms — hämta tråd, inlägg och bilagor (db)