Avatar billede bhn.314 Nybegynder
21. december 2004 - 14:36 Der er 3 kommentarer og
1 løsning

cloneNode skal bevare selected

Jeg har et script der tilføjer en dropdown til siden via følgende:

var cellLeft = row.insertCell(0);
var theElement = document.getElementById('type');
var clone = theElement.cloneNode(true);
cellLeft.appendChild(clone);

Hvilket betyder at følgende dropdown:
<select id="type">
<option="201">201</option>
<option="423">423</option>
<option="924" selected>924</option>
</select>

...bliver til:

<select id="type">
<option="201">201</option>
<option="423">423</option>
<option="924">924</option>
</select>

Problemet er at jeg gerne vil bevare den selected index-plads. Denne tabes ved cloneNode. Nogen alternativer i javascript?
Avatar billede olebole Juniormester
21. december 2004 - 18:54 #1
<ole>

Du må vel kunne lave noget à la:

var clone = theElement.cloneNode(true);
var cellLeft = row.insertCell(0);
var theElement = document.getElementById('type');
var clone = theElement.cloneNode(true);
if (theElement.selected) clone.selected = true;
cellLeft.appendChild(clone);


/mvh
</bole>
Avatar billede olebole Juniormester
21. december 2004 - 18:56 #2
... og nok nærmere:
if (theElement.selected) clone.setAttribute("selected", true);
hvis det skal være helt rigtigt  :)

I øvrigt ville jeg nok vælge et andet ID end 'type'. Det kan JS forveksle med andre ting  ;o)
Avatar billede bhn.314 Nybegynder
19. januar 2005 - 11:35 #3
olebole>>> Tak for hjælpen det hjalp. Smid et svar og få point...
Avatar billede olebole Juniormester
19. januar 2005 - 20:34 #4
selvtak  :)
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