Formulär Javascript
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. |
Sätt ID till kommunerna.
Sätt in ID i value istället för namn. Klart? |
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]); |
Citat:
Kod:
states['Blekinge'] = [ Citat:
Kod:
function changeSelect(fieldID, newOptions, newValues) { |
Föresten, det här är inte en serverteknologi. Det är klienten som exekverar koden :)
|
Haha ANttila :)
Tack för koden, ska prova runt lite. Citat:
|
Fungerade perfekt ANttila! Tack!
|
Citat:
|
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.
|
Alla tider är GMT +2. Klockan är nu 09:20. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson