L Liam Medlem sedan aug. 2003 40 inlägg Frågan 9 sep. 2003 12:46 #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.
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 T Medlem sedan nov. 2001 7 144 inlägg 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>
L Liam Medlem sedan aug. 2003 40 inlägg 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.
J Jojoxx Medlem sedan juni 2000 4 308 inlägg 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).
L Liam Medlem sedan aug. 2003 40 inlägg 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 T Medlem sedan nov. 2001 7 144 inlägg För mig så funkar det prima med den bifogade koden. Vad felar?
L Liam Medlem sedan aug. 2003 40 inlägg 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.
L Liam Medlem sedan aug. 2003 40 inlägg 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 T Medlem sedan nov. 2001 7 144 inlägg 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?
L Liam Medlem sedan aug. 2003 40 inlägg ok, jag ska se om jag kan komma på en annan lösning. synd att inte denna fungerade
L Liam Medlem sedan aug. 2003 40 inlägg Jag använde jojoxx lösning. Tackar ändå så jättemycket för hjälpen!
L Liam Medlem sedan aug. 2003 40 inlägg 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?