Kom ihåg mig?
Home Menu

Menu


Formulär Javascript

Ämnesverktyg Visningsalternativ
Oläst 2014-05-01, 11:47 #1
niklas_SWEDs avatar
niklas_SWED niklas_SWED är inte uppkopplad
Flitig postare
 
Reg.datum: Jan 2011
Inlägg: 400
niklas_SWED niklas_SWED är inte uppkopplad
Flitig postare
niklas_SWEDs avatar
 
Reg.datum: Jan 2011
Inlägg: 400
Standard 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.
niklas_SWED är inte uppkopplad   Svara med citatSvara med citat
Oläst 2014-05-01, 12:21 #2
ANttila ANttila är inte uppkopplad
Medlem
 
Reg.datum: Aug 2013
Inlägg: 81
ANttila ANttila är inte uppkopplad
Medlem
 
Reg.datum: Aug 2013
Inlägg: 81
Sätt ID till kommunerna.
Sätt in ID i value istället för namn.
Klart?
ANttila är inte uppkopplad   Svara med citatSvara med citat
Oläst 2014-05-01, 12:30 #3
niklas_SWEDs avatar
niklas_SWED niklas_SWED är inte uppkopplad
Flitig postare
 
Reg.datum: Jan 2011
Inlägg: 400
niklas_SWED niklas_SWED är inte uppkopplad
Flitig postare
niklas_SWEDs avatar
 
Reg.datum: Jan 2011
Inlägg: 400
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]);
niklas_SWED är inte uppkopplad   Svara med citatSvara med citat
Oläst 2014-05-01, 12:49 #4
ANttila ANttila är inte uppkopplad
Medlem
 
Reg.datum: Aug 2013
Inlägg: 81
ANttila ANttila är inte uppkopplad
Medlem
 
Reg.datum: Aug 2013
Inlägg: 81
Citat:
Ursprungligen postat av ANttila Visa inlägg
Sätt ID till kommunerna.
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'}
];
Dvs, mappa ihop id till kommunerna

Citat:
Ursprungligen postat av ANttila Visa inlägg
Sätt in ID i value istället för namn.
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);
    }
}
Något sådant
ANttila är inte uppkopplad   Svara med citatSvara med citat
Oläst 2014-05-01, 12:51 #5
ANttila ANttila är inte uppkopplad
Medlem
 
Reg.datum: Aug 2013
Inlägg: 81
ANttila ANttila är inte uppkopplad
Medlem
 
Reg.datum: Aug 2013
Inlägg: 81
Föresten, det här är inte en serverteknologi. Det är klienten som exekverar koden
ANttila är inte uppkopplad   Svara med citatSvara med citat
Oläst 2014-05-01, 12:55 #6
niklas_SWEDs avatar
niklas_SWED niklas_SWED är inte uppkopplad
Flitig postare
 
Reg.datum: Jan 2011
Inlägg: 400
niklas_SWED niklas_SWED är inte uppkopplad
Flitig postare
niklas_SWEDs avatar
 
Reg.datum: Jan 2011
Inlägg: 400
Haha ANttila

Tack för koden, ska prova runt lite.

Citat:
Ursprungligen postat av ANttila Visa inlägg
Föresten, det här är inte en serverteknologi. Det är klienten som exekverar koden
niklas_SWED är inte uppkopplad   Svara med citatSvara med citat
Oläst 2014-05-01, 13:10 #7
niklas_SWEDs avatar
niklas_SWED niklas_SWED är inte uppkopplad
Flitig postare
 
Reg.datum: Jan 2011
Inlägg: 400
niklas_SWED niklas_SWED är inte uppkopplad
Flitig postare
niklas_SWEDs avatar
 
Reg.datum: Jan 2011
Inlägg: 400
Fungerade perfekt ANttila! Tack!
niklas_SWED är inte uppkopplad   Svara med citatSvara med citat
Oläst 2014-05-01, 13:40 #8
ANttila ANttila är inte uppkopplad
Medlem
 
Reg.datum: Aug 2013
Inlägg: 81
ANttila ANttila är inte uppkopplad
Medlem
 
Reg.datum: Aug 2013
Inlägg: 81
Citat:
Ursprungligen postat av niklas_SWED Visa inlägg
Fungerade perfekt ANttila! Tack!
Ser man på, inte ofta man träffar rätt direkt
ANttila är inte uppkopplad   Svara med citatSvara med citat
Oläst 2014-05-01, 13:53 #9
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
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
tartareandesire är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 08:49.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017