FAQ |
Kalender |
![]() |
#1 | |||
|
||||
Flitig postare
|
Hej,
Har stött på ett litet problem på en sida jag utvecklar till en kund. På sidan ska man kunna välja län och sedan kommun. Har använt mig av javascript för detta. Dock skulle jag behöva ha med ett ID istället för kommunens namn. <script type="text/javascript"> // State lists var states = new Array(); states['Blekinge'] = new Array('Karlshamn','Karlskrona','Olofström','Ronneb y','Sölvesborg'); function setStates(){ cntrySel = document.getElementById('country'); stateList = states[cntrySel.value]; changeSelect('state', stateList, stateList); setCities(); } function changeSelect(fieldID, newOptions, newValues) { selectField = document.getElementById(fieldID); selectField.options.length = 1; for (i=0; i<newOptions.length; i++) { selectField.options[selectField.length] = new Option(newOptions[i], newValues[i]); } } </script> RESULTAT EFTER MAN VALT EX. BLEKINGE -------------------------------------------------- <select id="state" onchange="setCities();" name="taxo[1][term]"> <option value="">Alla Städer</option> <option value="Karlshamn">Karlshamn</option> <option value="Karlskrona">Karlskrona</option> <option value="Olofström">Olofström</option> <option value="Ronneby">Ronneby</option> <option value="Sölvesborg">Sölvesborg</option> </select> Jag skulle alltås vilja ha ett förbestämt ID i value istället för Karlshamn. Karlshamn ska dock stå kvar som namn i option. Någon som har några tips på hur jag ska ändra i javascript koden? Har försökt leta efter lösning på nätet men inte hittat något som passar. |
|||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Medlem
|
Sätt ID till kommunerna.
Sätt in ID i value istället för namn. Klart? |
||
![]() |
![]() |
![]() |
#3 | |||
|
||||
Flitig postare
|
Den skapar ju kommunlistan med hjälp av javascript och då blir value automatiskt kommunens namn, jag skulle vilja ha ett eget ID där istället.
Förmodar att jag ska ändra något i koden states['Blekinge'] = new Array('Karlshamn','Karlskrona','Olofström','Ronneb y','Sölvesborg'); samt koden function changeSelect(fieldID, newOptions, newValues) { selectField = document.getElementById(fieldID); selectField.options.length = 1; for (i=0; i<newOptions.length; i++) { selectField.options[selectField.length] = new Option(newOptions[i], newValues[i]); |
|||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Medlem
|
Kod:
states['Blekinge'] = [ {id: 1, name: 'Karlshamn'}, {id: 2, name: 'Karlskrona'}, {id: 3, name: 'Olofström'}, {id: 4, name: 'Ronneby'}, {id: 5, name: 'Sölvesborg'} ]; Kod:
function changeSelect(fieldID, newOptions, newValues) { selectField = document.getElementById(fieldID); selectField.options.length = 1; for (i=0; i<newOptions.length; i++) { selectField.options[selectField.length] = new Option(newOptions[i].name, newValues[i].id); } } |
||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Medlem
|
Föresten, det här är inte en serverteknologi. Det är klienten som exekverar koden
![]() |
||
![]() |
![]() |
![]() |
#6 | |||
|
||||
Flitig postare
|
||||
![]() |
![]() |
![]() |
#7 | |||
|
||||
Flitig postare
|
Fungerade perfekt ANttila! Tack!
|
|||
![]() |
![]() |
![]() |
#8 | ||
|
|||
Medlem
|
|||
![]() |
![]() |
![]() |
#9 | ||
|
|||
Supermoderator
|
Flyttade tråden till klientsidan. Det normala förfarandet är dock att man hämtar den här typen av data från en databas och levererar resultatet på serversidan vilket du också bör göra om du använder detta på flera ställen och/eller har lite fler val än bara fem städer i Blekinge.
__________________
Full-stack developer, free for smaller assignments |
||
![]() |
![]() |
Svara |
Ämnesverktyg | |
Visningsalternativ | |
|
|