/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Specielt valg
Fra : Tina Holt


Dato : 14-09-06 10:42

Mit problem er, at jeg er ikke er nogen haj til javascript - og
har derfor brug for lidt hjælp nu.

Jeg har et sted, hvor man via en dropdown kan vælge mellem 4 byer
- NÅR der er valgt en by (og ikke før) skal det være muligt at
vælge mellem 4 cafe'er, der hører til den valgte by.

Jeg ved det kan gøres med javascript, men ikke hvordan.

------------------

<select id="city" onchange="setcity('f7718')" style="width:
140px; font-size: 10px;">
<option value="">[Vælg By]</option>
<option value="Aalborg-1" >Aalborg</option>
<option value="Århus-2" >Århus</option>
<option value="København-3" >København</option>
<option value="Odense-4" >Odense</option>
          </select>
   

<select id="cafe" onchange="setcafe('f7719')" style="width:
140px; font-size: 10px;">
<option value="">[Vælg en favorit café]</option>
<option value="1-Ministeriet" >Café Ministeriet</option>
<option value="1-Vesterå" >Café Vesterå</option>
<option value="1-Nielsen" >Hr Nielsen</option>
<option value="1-Saltlageret" >Saltlageret</option>
            
<option value="2-Bridgewater" >Bridgewater</option>
<option value="2-Faust" >Café Faust</option>
<option value="2-Kindrødt" >Café Kindrødt</option>
<option value="2-Kupe" >Kupé</option>
            
<option value="3-Sommerbio" >Café Sommerbio</option>
<option value="3-Jazzhouse" >Jazzhouse</option>
<option value="3-RosieMcgee" >Rosie Mcgee</option>
<option value="3-Zeze" >Zeze</option>
            
<option value="4-Biografen" >Café Biografen</option>
<option value="4-Froggys" >Café Froggys</option>
<option value="4-CuckoosNest" >Cuckoo's Nest</option>
<option value="4-FranckA" >Franck A</option>
          </select>


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Thomas Fagerholt (14-09-2006)
Kommentar
Fra : Thomas Fagerholt


Dato : 14-09-06 11:44

Værsgo!


<script type="text/javascript">
var areas = new Array();
var area_0 = new Array();
area_0[0] = "Café Ministeriet|Ministeriet";
area_0[1] = "Café Vesterå|Vesterå";
area_0[2] = "Hr Nielsen|Nielsen";
area_0[3] = "Saltlageret|Saltlageret";
areas[0] = area_0;
var area_1 = new Array();
area_1[0] = "Bridgewater|Bridgewater";
area_1[1] = "Café Faust|Faust";
area_1[2] = "Café Kindrødt|Kindrødt";
area_1[3] = "Kupé|Kupe";
areas[1] = area_1;
var area_2 = new Array();
area_2[0] = "Café Sommerbio|Sommerbio";
area_2[1] = "Jazzhouse|Jazzhouse";
area_2[2] = "Rosie Mcgee|RosieMcgee";
area_2[3] = "Zeze|Zeze";
areas[2] = area_2;
var area_3 = new Array();
area_3[0] = "Café Biografen|Biografen";
area_3[1] = "Café Froggys|Froggys";
area_3[2] = "Cuckoo's Nest|CuckoosNest";
area_3[3] = "Franck A|FranckA";
areas[3] = area_3;

function showOptions(oThis, sTarget, aArr){
oTarget = document.getElementById(sTarget);

if (oThis && aArr && oTarget){
oTarget.options.length = 1;


for (i=0; i<aArr[oThis.value].length; i++){
sNewOption = document.createElement("OPTION");
oNewText = document.createTextNode(aArr[oThis.value][i].split("|")[0]);
sNewOption.setAttribute("value", aArr[oThis.value][i].split("|")[1]);
sNewOption.appendChild(oNewText);
oTarget.appendChild(sNewOption);
}
}
}
</script>

<select name="city" id="city" onchange="if (this.selectedIndex != 0)
showOptions(this, 'cafe', areas);">
<option value="">[Vælg By]</option>
<option value="0" >Aalborg</option>
<option value="1" >Århus</option>
<option value="2" >København</option>
<option value="3" >Odense</option>
</select>
<select name="cafe" id="cafe">
<option value="">[Vælg en favorit café]</option>
</select>


mvh
Thomas Fagerholt
---------------------------------------------------------
profilEdit CMS - Online demo på http://demo.profiledit.dk



Ukendt (14-09-2006)
Kommentar
Fra : Ukendt


Dato : 14-09-06 12:29

On Thu, 14 Sep 2006 12:43:53 +0200, Thomas Fagerholt wrote:

> Værsgo!
>
> <script type="text/javascript">
> var areas = new Array();
> var area_0 = new Array();
> area_0[0] = "Café Ministeriet|Ministeriet";
> area_0[1] = "Café Vesterå|Vesterå";
> area_0[2] = "Hr Nielsen|Nielsen";
> area_0[3] = "Saltlageret|Saltlageret";
> areas[0] = area_0;
> var area_1 = new Array();
> area_1[0] = "Bridgewater|Bridgewater";
> area_1[1] = "Café Faust|Faust";
> area_1[2] = "Café Kindrødt|Kindrødt";
> area_1[3] = "Kupé|Kupe";
> areas[1] = area_1;
> var area_2 = new Array();
> area_2[0] = "Café Sommerbio|Sommerbio";
> area_2[1] = "Jazzhouse|Jazzhouse";
> area_2[2] = "Rosie Mcgee|RosieMcgee";
> area_2[3] = "Zeze|Zeze";
> areas[2] = area_2;
> var area_3 = new Array();
> area_3[0] = "Café Biografen|Biografen";
> area_3[1] = "Café Froggys|Froggys";
> area_3[2] = "Cuckoo's Nest|CuckoosNest";
> area_3[3] = "Franck A|FranckA";
> areas[3] = area_3;
>
> function showOptions(oThis, sTarget, aArr){
> oTarget = document.getElementById(sTarget);
>
> if (oThis && aArr && oTarget){
> oTarget.options.length = 1;
>
> for (i=0; i<aArr[oThis.value].length; i++){
> sNewOption = document.createElement("OPTION");
> oNewText = document.createTextNode(aArr[oThis.value][i].split("|")[0]);
> sNewOption.setAttribute("value", aArr[oThis.value][i].split("|")[1]);
> sNewOption.appendChild(oNewText);
> oTarget.appendChild(sNewOption);
> }
> }
> }
> </script>
>
> <select name="city" id="city" onchange="if (this.selectedIndex != 0)
> showOptions(this, 'cafe', areas);">
> <option value="">[Vælg By]</option>
> <option value="0" >Aalborg</option>
> <option value="1" >Århus</option>
> <option value="2" >København</option>
> <option value="3" >Odense</option>
> </select>
> <select name="cafe" id="cafe">
> <option value="">[Vælg en favorit café]</option>
> </select>

Hold da kæft. Det virker! Fedt, den napper jeg osse li'e en kopi af, okay?
--
Venlig hilsen
Kurt Hansen

Tina Holt (18-09-2006)
Kommentar
Fra : Tina Holt


Dato : 18-09-06 12:50


>
> Hold da kæft. Det virker! Fedt, den napper jeg osse li'e en kopi af, okay?

Fik du det virkelig til at virke? Når jeg bruger 'skabelonen' viser den kun 1.
bogstav af de café navne den skal finde i nr. 2 dropdown... :(


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Thomas Fagerholt (18-09-2006)
Kommentar
Fra : Thomas Fagerholt


Dato : 18-09-06 13:18

> Fik du det virkelig til at virke? Når jeg bruger 'skabelonen' viser den
> kun 1.
> bogstav af de café navne den skal finde i nr. 2 dropdown... :(

Det lyder mystisk. Har du et link til hvor du har lagt det online?
Har du taget det direkte uden at rette i koden?
Måske er det et problem med encoding pga dine specialtegn. Hvilken browser
ser du det i?

/Thomas



Tina Holt (19-09-2006)
Kommentar
Fra : Tina Holt


Dato : 19-09-06 10:13

Thomas Fagerholt wrote in dk.edb.internet.webdesign.clientside:
> Det lyder mystisk. Har du et link til hvor du har lagt det online?
> Har du taget det direkte uden at rette i koden?
> Måske er det et problem med encoding pga dine specialtegn. Hvilken browser
> ser du det i?

http://www.writely.com/View.aspx?docid=ddssb95m_11ctd7s6
(tilgængelig fra d. 19.09 og indtil kl. 10 d. 20.09)

Her ligger koden - direkte copy/pasted...og viser stadig i en browser kun 1.
bogstav af cafenavnene...
Jeg bruger både Firefox og Explorer, og har problemet i begge browsere.


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Thomas Fagerholt (19-09-2006)
Kommentar
Fra : Thomas Fagerholt


Dato : 19-09-06 11:05


> Her ligger koden - direkte copy/pasted...og viser stadig i en browser kun
> 1.
> bogstav af cafenavnene...

Hej Tina
Det var spøjst. Der hvor du har klippet min kode fra har den ikke kunne vise
specialtegnet, som jeg bruger som seperatortegn. Jeg bruger "|" (hæ,hæ, det
kan du sikkert heller ikke se . Du må prøve at bruge en anden. Kan du se
et snabel-a -> "@"?
Dine variable skal se sådan ud:
area_0[0] = "Café Ministeriet@Ministeriet";
De to steder hvor der står .split , skal der stå:
oNewText = document.createTextNode(aArr[oThis.value][i].split("@")[0]);
sNewOption.setAttribute("value", aArr[oThis.value][i].split("@")[1]);

Kan du få det til at virke nu?

Mvh
Thomas Fagerholt



Tina Holt (19-09-2006)
Kommentar
Fra : Tina Holt


Dato : 19-09-06 13:37

Thomas Fagerholt wrote in dk.edb.internet.webdesign.clientside:

> Kan du få det til at virke nu?


JA!!! :D
Mange tak, det var lige det der skulle til. Tak for hjælpen!


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Ukendt (18-09-2006)
Kommentar
Fra : Ukendt


Dato : 18-09-06 14:59

On 18 Sep 2006 11:49:56 GMT, Tina Holt wrote:

> Path: dread12.news.tele.dk!dspool02.news.tele.dk!193.88.15.205.MISMATCH!bourbaki.news.tele.dk!news.tele.dk!feed118.news.tele.dk!news.tele.dk!small.news.tele.dk!news.net.uni-c.dk!dotsrc.org!filter.dotsrc.org!news.dotsrc.org!not-for-mail
> From: Tina Holt <kejejNOSPAM@rocketmail.com>
> Newsgroups: dk.edb.internet.webdesign.clientside
> X-IP_Address: 87.54.105.157
> X-CommunityID: 12647
> X-Report-Abuse-To: http://www.html.dk/abuse/?gid=dk.edb.internet.webdesign.clientside
> Organization: HTML.dk - søg / læs de danske nyhedsgrupper om webdesign
> References: <450923f5$0$75037$14726298@news.sunsite.dk> <4509326e$0$892$edfadb0f@dread12.news.tele.dk> <u3sxf72orbmp$.d2f0vl0eh2yh.dlg@40tude.net>
> X-Newsreader: AspNNTP 1.50 (A/S ScanNet)
> Subject: Re: Specielt valg
> Date: 18 Sep 2006 11:49:56 GMT
> Lines: 13
> Message-ID: <450e87e4$0$75035$14726298@news.sunsite.dk>
> NNTP-Posting-Host: 195.69.128.143
> X-Trace: news.sunsite.dk DXC=j`Q_VlSC:T4\:k25BLkF8;YSB=nbEKnk;LAD[20WM2n>Z`l8bSS:1>6blQ8agHS3>6cZ8\c?WmmD>AFdh\Ic_j`0Ahb1X[3Qf<:
> X-Complaints-To: staff@sunsite.dk
> Xref: dread12.news.tele.dk dk.edb.internet.webdesign.clientside:18402
>
>>
>> Hold da kæft. Det virker! Fedt, den napper jeg osse li'e en kopi af, okay?
>
> Fik du det virkelig til at virke? Når jeg bruger 'skabelonen' viser den kun 1.
> bogstav af de café navne den skal finde i nr. 2 dropdown... :(

Thomas' kode i hans første indlæg virker upåklageligt uden ændringer.
Javascript-koden skal selvfølgelig integreres på en HTML-side med header
m.m., for at du kan afvikle den.

DOCTYPE...
<html>
<head>
<title></title>
</head>
<body>

Indsæt scriptet her

</body>
</html>

Også den udvidelse af funktionaliteten som jeg efterlyste, virker. Se
hvordan jeg fik det til at virke her:
Message-ID: <bs6qu0u5xrup$.1da4f16u0ylq$.dlg@40tude.net>
--
Venlig hilsen
Kurt Hansen

Ukendt (14-09-2006)
Kommentar
Fra : Ukendt


Dato : 14-09-06 12:42

On Thu, 14 Sep 2006 12:43:53 +0200, Thomas Fagerholt wrote:

> Værsgo!

Et tak ude fra sidelinien, det var lige noget jeg kunne bruge.

Men nu bliver jeg krævende:

Hvad nu hvis en eller anden knold vælger at bruge boks 2 først, f.eks.
fordi han gerne vil se hele listen? Kan man lave det sådan, at der kommer
en "fejlmeddelelse" der siger, at man først skal vælge by i boks 1, eller
endnu bedre:

Kan den bringes til at virke begge veje: Altså i boks to give mulighed for
at vælge "Alle cafeer", hvorefter en klik på f.eks. Café Kindhest, viser
byen i venstre side?

Måske ikke helt gennemtænkt og måske heller ikke hensigtsmæssigt, men jeg
er nysgerrig, da jeg kan finde anvendelse for scriptet i en hel anden
sammenhæng.
--
Venlig hilsen
Kurt Hansen

Thomas Fagerholt (14-09-2006)
Kommentar
Fra : Thomas Fagerholt


Dato : 14-09-06 13:05

> Et tak ude fra sidelinien, det var lige noget jeg kunne bruge.

Det glæder mig.

> Hvad nu hvis en eller anden knold vælger at bruge boks 2 først, f.eks.
> fordi han gerne vil se hele listen? Kan man lave det sådan, at der kommer
> en "fejlmeddelelse" der siger, at man først skal vælge by i boks 1, eller

Tilføj følgende atribut på den anden selectbox: onfocus="if
(this.options.length == 1) alert('vælg først by');"

>
> Kan den bringes til at virke begge veje: Altså i boks to give mulighed for
> at vælge "Alle cafeer", hvorefter en klik på f.eks. Café Kindhest, viser
> byen i venstre side?

Ja. Det kræver en onchange-atribut på den anden select og en information som
pejer på hvilken by den ligger i. Så skal man jo også lige have en option
som lægger alle cafeer i selectboksen.

Mvh
Thomas Fagerholt



Ukendt (14-09-2006)
Kommentar
Fra : Ukendt


Dato : 14-09-06 13:24

On Thu, 14 Sep 2006 14:05:24 +0200, Thomas Fagerholt wrote:

>> Hvad nu hvis en eller anden knold vælger at bruge boks 2 først, f.eks.
>> fordi han gerne vil se hele listen? Kan man lave det sådan, at der kommer
>> en "fejlmeddelelse" der siger, at man først skal vælge by i boks 1, eller
>
> Tilføj følgende atribut på den anden selectbox: onfocus="if
> (this.options.length == 1) alert('vælg først by');"

Aaargh, sådan går det altid, når folk der tror de kan springe over hvor
gærdet er lavest og ikke har sat sig ind i tingene: Hvor er det nu liiiige
helt præcist, den attribut skal sættes ind? Det der med javascript,
deeeet...

Håber ikke jeg nu har ødelagt dit gode humør i det dejlige septembervejr.
--
Venlig hilsen
Kurt Hansen

Ukendt (14-09-2006)
Kommentar
Fra : Ukendt


Dato : 14-09-06 13:31

On Thu, 14 Sep 2006 14:24:29 +0200, Kurt Hansen wrote:

> On Thu, 14 Sep 2006 14:05:24 +0200, Thomas Fagerholt wrote:
>
>>> Hvad nu hvis en eller anden knold vælger at bruge boks 2 først, f.eks.
>>> fordi han gerne vil se hele listen? Kan man lave det sådan, at der kommer
>>> en "fejlmeddelelse" der siger, at man først skal vælge by i boks 1, eller
>>
>> Tilføj følgende atribut på den anden selectbox: onfocus="if
>> (this.options.length == 1) alert('vælg først by');"
>
> Aaargh, sådan går det altid, når folk der tror de kan springe over hvor
> gærdet er lavest og ikke har sat sig ind i tingene: Hvor er det nu liiiige
> helt præcist, den attribut skal sættes ind? Det der med javascript,
> deeeet...
>
> Håber ikke jeg nu har ødelagt dit gode humør i det dejlige septembervejr.

Okay, der var jeg alligevel lidt for hurtig. Kom til at tænke på begrebet
"attribut" og relaterede det til HTML, som jeg kender. Så gik der en prås
op for mig: Den skal selvfølgelig sættes ind således:

<select name="cafe" id="cafe" onfocus="if (this.options.length == 1)
alert('vælg først by');">

Der er jo ingen grund til at gøre sig dummere end aller højst nødvendigt.
Tak for udvidelsen
--
Venlig hilsen
Kurt Hansen

Tina Holt (14-09-2006)
Kommentar
Fra : Tina Holt


Dato : 14-09-06 12:51

Tusind mange tak!! :D

Det ser ud til at virke - har kun eet problem så vidt jeg kan se: De café
navne der dukker frem, består kun af 1. bogstav?

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177496
Tips : 31968
Nyheder : 719565
Indlæg : 6408490
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste