---
title: "create Element (checkbox)"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/103311-create-element-checkbox"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "roady"
published: "2004-05-10T14:54:44.000Z"
updated: "2004-05-12T16:40:13.000Z"
replies: 7
views: 449
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/103311-create-element-checkbox"
---

# create Element (checkbox)

## #1 — roady, 2004-05-10T14:54Z

hello...
sitter och pillar med createElement utan större framgång.
har en massa kod som skriver ut ett träd från xml struktur som matas ut från databas, saken är den att den bygger på ul/li taggar och innan namnet på foldern/channel så vill jag ha en kryssruta.

Får det verkligen inte att funka, hur använder man createElement?

```
function createChannel(elmLI,objNode) {		
		elmLI.className = (objNode.getAttribute('hidden') == "true") ? "folderhidden" : "folder";
	elmLI.innerText = elmLI.dname;
}
```

Permalänk: https://www.webforum.nu/p/103311

## #2 — roady, 2004-05-10T15:12Z

hur behåller man något och plussar på med innerHtml.

testade med outerHtml för att se vad jag fick fram, min insättning av checkbox funkar men sedan när jag skriver ut text så försvinner den igen.

```
function createChannel(elmLI,objNode) {
			newRadioButton = document.createElement("<INPUT TYPE='checkbox' NAME='tralalala' VALUE='Second Choice'>")
  			elmLI.insertBefore(newRadioButton);
		
			elmLI.className = (objNode.getAttribute('hidden') == "true") ? "folderhidden" : "folder";
			elmLI.innerText = elmLI.dname;
			alert("visa mig: " +elmLI.outerHTML);
		}
```

Permalänk: https://www.webforum.nu/p/1344038

## #3 — roady, 2004-05-10T15:33Z

woohooo, löste det.
felet är att använde man innerText så skrev man över allt, så då skapa man ett textfält istället och bara lägger till..

typ som 
newRadioButton = document.createElement("\<input type='checkbox' name='parseMe' value='"+ elmLI.dname +"'\>")
  			elmLI.insertBefore(newRadioButton);
			newText = document.createTextNode(elmLI.dname);
			elmLI.insertBefore(newText);

Permalänk: https://www.webforum.nu/p/1344043

## #4 — roady, 2004-05-11T15:47Z

Har förstått att man skapar formulär saker såhär

```
var newCheckButton = document.createElement("input");
			newCheckButton.setAttribute("type", "checkbox");
			newCheckButton.setAttribute("value", elmLI.id);
			newCheckButton.setAttribute("id", "parseMe");
```

dock så fattar jag inte hur jag skall göra om jag vill att den skall vara ikryssad???

Permalänk: https://www.webforum.nu/p/1344486

## #5 — Peter S, 2004-05-11T16:08Z

Hm, i IE verkar det som att du måste lägga till noden till formuläret innan du sätter egenskapen *checked*:

```
var newCheckButton = document.createElement("input");
...
window.onload = function() {
    document.forms["formular"].appendChild(newCheckButton);
    newCheckButton.setAttribute("checked", "checked");
}
```

 :)

Permalänk: https://www.webforum.nu/p/1344497

## #6 — roady, 2004-05-12T08:54Z

javascript är skumt alltså...
gjorde som du skrev, kollar jag efter med outerHTML så ser det helt korrekt ut, CHECKED kommer med och allt, dock så är den inte ikryssad när man tittar på den.

måste man ha den på en onLoad ? problemet är att jag skapar allt dynamiskt och eftersom man klickar runt i trädet så expanderas det dynamiskt och byggs på utan att sidan laddas om

Permalänk: https://www.webforum.nu/p/1344855

## #7 — roady, 2004-05-12T13:13Z

jag blir galen \*drar i håret\*
varför kan jag inte få mina checkboxar ikryssade när de skapas?

tillslut löste det sig, sluta använda createElemen och använd innerHTML istället.
elmLI.innerHTML = "\<input type='checkbox' value='"+elmLI.id+"' onclick='inActiveParent(this)' checked\>"

Permalänk: https://www.webforum.nu/p/1344985

## #8 — Peter S, 2004-05-12T16:40Z

Nej, du behöver inte lägga koden i onload. Däremot måste du lägga till noden till formuläret innan du sätter egenskapen i fråga.

Här är ett annat exempel som använder sig av en länk för att  expandera formuläret med inputelementet:

```
<a
    href="java&#115;cript:void(0)" 
    onclick="document.forms['[b]formulärnamn[/b]'].appendChild(newCheckButton); newCheckButton.setAttribute('checked', 'checked')"
>Add</a>
```

Notera att det första kommandot i onclick lägger till noden och det andra sätter egenskapen.

 :)

Permalänk: https://www.webforum.nu/p/1345070

---

Tråden på webben: https://www.webforum.nu/amne/javascript/103311-create-element-checkbox
