10. oktober 2007 - 12:56Der er
24 kommentarer og 1 løsning
problemer med ´dynamisk opretelse af checkbox
Hej med jer.
jeg sidder nemlig lidt fast i noget :(, håber nogen kan komme med evt. idder eller forklaringer
jeg vil gerne oprette en checkbox igennem javascript ved document load på en html fil, og det virker men jeg kan bare ikke få onclick til at fungere med en lille parameter :(
jeg gøre følgende: element.ownerDocument.init.add(drawOptions);
function createCheckbox(name, value, id,onclick) { var input = document.createElement("input"); input.type = "checkbox"; if (name) input.name = name; if (value) input.value = value; if (id) input.id = id; if (onclick) input.onclick = onclick;
return input; }
function createLabel(text, htmlFor) { var label = document.createElement("label"); if (text) label.appendChild(document.createTextNode(text)); if (htmlFor) label.htmlFor = htmlFor; return label; }
min onclick hændelse bliver tegnet i drawOptions igennem createCheckbox, også skal den sende en værdi til funktionen hidecolumn, en alert med parameteren er findt nok. men jeg kan bare ikke sende noget som helst med over til hidecolum. men jeg kan godt kalde hidecolumn fra checkboxen :(
<SCRIPT> var loaded=0, doc, div,repositionSubscription=null; var currentOrderID=0; var SplitCaption = caption.split(",");
element.ownerDocument.init.add(drawOptions);
//tegner status popup vinduet function drawOptions() { var as='bayram' div = element.ownerDocument.getElementById('costumizeDropDownElement'); if (!div) { div = document.createElement('div'); div.id = 'costumizeDropDownElement'; div.style.position ='absolute'; div.style.overflow = 'visible';
for(i = 0; i < SplitCaption.length; i++){ var tblBody = document.createElement("tbody"); var row = document.createElement("tr"); var cell = document.createElement("td");
function createCheckbox(name, value, id,onclick) { var input = document.createElement("input"); input.type = "checkbox"; if (name) input.name = name; if (value) input.value = value; if (id) input.id = id; if (onclick) input.onclick = onclick;
return input; }
function createLabel(text, htmlFor) { var label = document.createElement("label"); if (text) label.appendChild(document.createTextNode(text)); if (htmlFor) label.htmlFor = htmlFor; return label; }
function hidecolumn(send){ alert(send);
};
//visning, positionering samt initialisering af vinduet function toggleList(){ if (event) event.cancelBubble = true; if (div.style.display=='none') { expand(); } else { collapse(); } }
//reposition function reposition() { var ePos = getAbsPos(element),y=ePos.y+22; if (y+div.clientHeight>element.ownerDocument.body.clientHeight+element.ownerDocument.body.scrollTop) y = ePos.y-div.clientHeight-1; element.ownerDocument.setAbsPos(div,ePos.x,y) };
//lukker vinduet function collapse() { var tr = element.ownerDocument.statustbody.firstChild; while (tr) { var td=tr.firstChild; td.style.cursor = 'default'; tr = tr.nextSibling; }; div.style.display='none'; if (repositionSubscription) element.ownerDocument.reposition.remove(repositionSubscription); repositionSubscription = null; };
//cancelbuble function cancelBubble() { event.cancelBubble = true; };
såden her kommer den til se ud. <td><INPUT id=checkboz_nr type=checkbox value=checkbox_nr><LABEL>nr.</td>
men ved start af siden får jeg alle alertne fra hidecolumn op uden at jeg har bedt om det.. godt nok bliver checkboxen generet ved onload af siden, men det skulle ikke give alert ved onload men ved clik på checkboxen :(
så ser den sådan her ud, <TD><INPUT id=checkbox_NR onclick="hidevcolumn('test') type=checkbox value... men nu tegner den ikke noget som helst på skærmen :(
sorry forkert info, der var noget andet galt, det rettede jeg..
efter have smidt cell.appendChild(createCheckbox('checkbox_' + SplitCaption[i],'checkbox_' + SplitCaption[i],'checkbox_' + SplitCaption[i],"hidecolumn('test')"));
får jeg ikke nogen alertbox ved opstart men hellere ikke ved onclik på boxne
betyder det noget at den ligger i en tbody `? <TBODY><TR> <TD><INPUT id=checkbox_NR onclick="hidevcolumn('test')" type=checkbox value=checkbox_nr><LABEL>nr.</LabeL></td></TR></TBODY></TABLE>
hmmm. jeg vælger ikke at sende parameter med. men vil se på den anden led ved at smide alert(event.srcElement.value); i hidecolumn funktionen, på denne måde vil jeg have varablen.
function createCheckbox(name, value, id,onclick) { var input = document.createElement("input"); input.type = "checkbox"; if (name) input.name = name; if (value) input.value = value; if (id) input.id = id; if (onclick) input.onclick = onclick;
return input; }
- den skal se sådan ud:
function createCheckbox(name, value, id,onclick) { var input = document.createElement("<input name='"+name+"' type='checkbox'>"); if (value) input.value = value; if (id) input.id = id; if (onclick) input.onclick = onclick;
return input; }
/mvh </bole>
Synes godt om
Ny brugerNybegynder
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.