webForumDet fria alternativet

Uppdatera listbox

15 svar · 323 visningar · startad av Liam

LiamMedlem sedan aug. 200340 inlägg
#1

Jag har följande fält

<select size="1" name="kundnummer">
<option>1929322</option>
<option>2002020</option>
</select>

<select size="1" name="foretagsnamn">
<option value="1929322">FÖRETAGET A</option>
<option value="2002020">FÖRETAGET B</option>
</select>

När man väljer ett kundnummer i "kundnummer" så ska det fält i "foretagsnamn" som har samma value markeras.

Hur gör man detta?

Helst utan att sidan behöver uppdateras.

PepeJeriaMedlem sedan feb. 2003779 inlägg
#2

Ha en onChange på första som anropar ett script där du tar det selekterade värdet/texten (med hjälp av options collection) för att sedan loopa igenom den andra dropdown:en och matcha dess value. När du finner denna sätter du dess selected till true.

Jesper TMedlem sedan nov. 20017 058 inlägg
#3

Om du sätter dem i ordning så kan du kanske göra så här:

<form name="ett">
<select size="1" name="kundnummer" onChange="document.forms['ett'].elements['foretagsnamn'].selectedIndex=this.selectedIndex;"> 
<option>1</option>
<option>2</option>  
<option>3</option> 
<option>4</option> 
</select> 

<select size="1" name="foretagsnamn"> 
<option value="1">FÖRETAGET A</option> 
<option value="2">FÖRETAGET B</option> 
<option value="3">FÖRETAGET C</option> 
<option value="4">FÖRETAGET D</option> 
</select> 

</form>
LiamMedlem sedan aug. 200340 inlägg
#4

Tack Jesper! Det fungerade kanonbra!

Nu kom jag på en ny kul grej dock. Kan man bygga om denna till en liten sök. Dvs. Jag skriver ett nummer i

<input type="text" name="sok" size="20">

sen söker den i

<select size="1" name="foretagsnamn">
<option value="30">FÖRETAGET A</option>
<option value="26">FÖRETAGET B</option>
<option value="90">FÖRETAGET C</option>
<option value="205">FÖRETAGET D</option>
</select></form>

och markerar den som matchar bäst.

Dvs. Skriver jag 2 så markeras FÖRETAG B, men skriver jag 20 så markeras FÖRETAG D

Helst utan att sidan laddas om.

JojoxxMedlem sedan juni 20004 306 inlägg
#5

Ungefär så här? (Du får den enkelt att sökta på value istället för text genom att ändra lista[n].text till lista[n].value).

LiamMedlem sedan aug. 200340 inlägg
#6

Tack, kanonschysst!

LiamMedlem sedan aug. 200340 inlägg
#7

Hej

Jag har gjort lite modifieringar och nu fungerar det tyvärr inte.

<select name="companynumber" onChange="document.forms['form'].elements['companyname'].selectedIndex=this.selectedIndex;"> >
<option value='1'>1</option><option value='2'>2</option><option value='3'>3</option>
</select>

<select name="companyname" class="field" onChange="document.forms['form'].elements['companynumber'].selectedIndex=this.selectedIndex;">
<option value='1'>Nisse AB</option><option value='2'>Sven AB</option><option value='3'>Åke AB</option>
</select>

Dvs. De två fälten ska vara synkade. Väljer man t.ex. Nisse AB så se den att det är value 1 som gäller och söker upp i companynumber där value=1

jag antar att typ selectedIndex ska ändras till selectValue eller?

Kan nån hjälpa mig?

Tack på förhand!

Jesper TMedlem sedan nov. 20017 058 inlägg
#8

För mig så funkar det prima med den bifogade koden. Vad felar?

LiamMedlem sedan aug. 200340 inlägg
#9

ok, jag förenklade koden lite.. egentligen är sifferfälten org.nummer som ser ut som följer XXXXXX-XXXX

hos mig väljer den fel. Jag har ingen aning om varför.

Jesper TMedlem sedan nov. 20017 058 inlägg
#10

Bifoga orginalkoden då.

LiamMedlem sedan aug. 200340 inlägg
#11

nu har jag hittat problemet. om man byter plats på t.ex. 2 och 3 i koden så fungerar det ej...

<form name="form">

<select name="companynumber" onChange="document.forms['form'].elements['companyname'].selectedIndex=this.selectedIndex;">

<option value='1'>1</option><option value='3'>3</option> <option value='2'>2</option>
</select>

<select name="companyname" class="field" onChange="document.forms['form'].elements['companynumber'].selectedIndex=this.selectedIndex;">
<option value='1'>Nisse AB</option><option value='2'>Sven AB</option><option value='3'>Åke AB</option>
</select>

</form>

Jesper TMedlem sedan nov. 20017 058 inlägg
#12

Precis, det förutsätter att companyname och companynumber är rätt sorterade ifrån början.
Och då kanske det är smartare att hitta en annan lösning om det skall bli lätt att sortera på både nummer och namn?

LiamMedlem sedan aug. 200340 inlägg
#13

går det att lösa?

LiamMedlem sedan aug. 200340 inlägg
#14

ok, jag ska se om jag kan komma på en annan lösning. synd att inte denna fungerade

LiamMedlem sedan aug. 200340 inlägg
#15

Jag använde jojoxx lösning. Tackar ändå så jättemycket för hjälpen!

LiamMedlem sedan aug. 200340 inlägg
#16

Jojoxx lösning ballar ur om man har ganska många options i selectboxen...

Någon som kan komma på en smidig lösning och som är snabb även med många poster?

Genererad på 375 ms · cache AV · v20260730165559-full.f96bc7eb