Avatar billede bigtime Nybegynder
06. juni 2012 - 09:37 Der er 5 kommentarer og
1 løsning

menu som på dba

hejsa :D
jeg bruger det her script som ronols har oploadet her i denne her tråd http://www.eksperten.dk/spm/935197#reply_7756190
Men ville høre om hvordan laver jeg så den først viser den næste select boks når der er valgt en i boksen før?
Avatar billede olsensweb.dk Ekspert
06. juni 2012 - 14:17 #1
det var dog noget gammelt L..., overførsel af HTML via AJAX, jeg skammer mig, nåå jeg er blevet klogere
jeg har lavet en ny vertion der kun overfører data og anvender post istedet for get
jeg vil anbefale dig at bruge denne opdaterede vertion, ændringen med næste box er også lagt ind

se disse 2 linjer i index.php
var cl=(lng>1)? "ShowSelectbox" : "HideSelectbox";
select.setAttribute("class", cl);

(ligger i js functionerne DomSelectBox, og GetAjaxData2)
css:
.HideSelectbox{
visibility:hidden;
}
.ShowSelectbox{
visibility:visible;
}

http://experten.olsensweb.dk/964110/964110.zip
Avatar billede bigtime Nybegynder
08. juni 2012 - 10:50 #2
cool nok og tak.
Men jeg kan ikke få den til at vise den her
<option selected="selected" value="0">V&aelig;lg Verdensdel</option>
og jeg har har lavet det her

<select size="10" id="verdensdel" name="verdensdel" style="verdana:middle;width:200px;">

men det inorere den bare fuld stændig

og så lige det sidste jeg bruger &amp; i dben og den skriver den ud sådan her &amp; i stedet for &

:D
Avatar billede olsensweb.dk Ekspert
08. juni 2012 - 12:00 #3
Men jeg kan ikke få den til at vise den her
<option selected="selected" value="0">V&aelig;lg Verdensdel</option>

det er pga når siden er lavet, opdateres samtlige select boxe med dette
<script type="text/javascript">
    GetAjaxDataIni(0); // kalder selv de andre select boxe
</script>

der giver indholdet fra DB, og overskriver selectboxen,

så du kan betragte disse 4 boxe som placeholdere, der kun bruges ifm design
<form name="form1" action="#">
<span id="box1">
<!-- place holder ajax data kommer her -->
<select size="1" id="verdensdel" name="verdensdel" >
    <option selected="selected" value="0">Vælg Verdensdel</option>           
</select>
</span>

<span id="box2">
<!-- place holder ajax data kommer her -->
<select size="1" id="land" name="land">
    <option selected="selected" value="0">Vælg Land</option>           
</select>
</span>

<span id="box3">
<!-- place holder ajax data kommer her -->
<select size="1" id="region" name="region">
    <option selected="selected" value="0">Vælg region</option>           
</select>
</span>

<span id="box4">
<!-- place holder ajax data kommer her -->
<select size="1" id="distrikt" name="distrikt">
    <option selected="selected" value="0">Vælg distrikt</option>           
</select>

</span>
</form>


DomSelectBox(js_ar, "verdensdel", "GetAjaxData(this.value)");
bevirker at
<select size="1" id="verdensdel" name="verdensdel" >
overskrives med
 <select id="verdensdel" class="ShowSelectbox" onchange="GetAjaxData(this.value)">
<option value="0">vælg venligst</option>
<option value="1">V 1</option>
<option value="2">V 2</option>
<option value="3">V 3</option>
<option value="4">V 4</option>
</select>   
   
jeg burde nok sætte et name på også, til brug for serverside

nemt rettet
select.setAttribute("id", elm);       
select.setAttribute("name", elm);

i function DomSelectBox(js_ar, elm, attrib){
(er opdateret i zip, og demo)

>style="verdana:middle;width:200px;"
lav en class du setter på selectboxen (her kaldet selbox)

feks som
var cl=(lng>1)? "ShowSelectbox" : "HideSelectbox";   
select.setAttribute("class", cl+" selbox");
med dette i css
.selbox{
    verdana: middle;
    width: 200px;
}
i function DomSelectBox(js_ar, elm, attrib){
(er opdateret i zip, og demo)

demo http://experten.olsensweb.dk/964110/
   
og så lige det sidste jeg bruger &amp; i dben og den skriver den ud sådan her &amp; i stedet for &
ref http://stackoverflow.com/questions/3700326/decode-amp-back-to-in-javascript
var decoded = encoded.replace(/&amp;/g, '&');
har ikke lige prøvet,

hans eks ville være
var str = 'One &amp; two &amp; three';
var decoded = str.replace(/&amp;/g, '&');
Avatar billede olsensweb.dk Ekspert
08. juni 2012 - 12:25 #4
>og så lige det sidste jeg bruger &amp; i dben og den skriver den ud sådan her &amp; i stedet for &

denne linje
text = document.createTextNode(js_ar[i]['Navn']);


erstattes med disse
var tmp=js_ar[i]['Navn'];
tmp=tmp.replace(/&amp;/g, '&');
text = document.createTextNode(tmp);

(er opdateret i zip, og demo)

som du nok kan se er AJAX meget JS
Avatar billede bigtime Nybegynder
27. juni 2012 - 08:02 #5
cool tak.
kan du komme med et svar :D
Avatar billede olsensweb.dk Ekspert
27. juni 2012 - 18:12 #6
frår du her
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester