27. maj 2004 - 16:43
Der er
9 kommentarer og 1 løsning
Fjern px fra div border og set selectedIndex
Hvordan kan jeg fjerne "px" eller "pt" så jeg kan finde value, eller er der en smart måde at gøre det på?? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Border</title> <script LANGUAGE="JavaScript"> <!-- function Startup(){ var strBorder = div_border.style.border.split(" "); alert(strBorder[1]); sel_form.sel_border.selectedIndex = strBorder[1]; } function setSelect(value){ div_border.style.border = "black " + value + "px solid"; } //--> </script> </head> <body onLoad="Startup();"> <div id="div_border" name="div_border" style="border: black 1px solid">Border test</div><br> <form name="sel_form"> <select name="sel_border" onChange="setSelect(this[this.selectedIndex].value);"> <option value="0">Ingen</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> </select> </form> </body> </html>
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
Du har også lavet det på en måde, så du er totalt afhængig af een bestemt browser på eet bestemt styresystem, men et par ganske små ændringer gør det crossbrowser: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Border</title> <script LANGUAGE="JavaScript"> <!-- function Startup(){ var strBorder = document.getElementById('div_border').style.border.match(/\d+px/)[0].split("px")[0]; //alert(strBorder); sel = document.sel_form.sel_border; for(i=0;sel.length>i;i++){ if(strBorder==sel.options[i].value){ sel.options[i].selected = true; break; } } } function setSelect(value){ document.getElementById('div_border').style.border = "black " + value + "px solid"; } //--> </script> </head> <body onLoad="Startup();"> <div id="div_border" name="div_border" style="border: black 12px solid">Border test</div><br> <form name="sel_form"> <select name="sel_border" onChange="setSelect(this.options[this.selectedIndex].value);"> <option value="0">Ingen</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> </select> </form> </body> </html>
..og metoden der blev brugt i spm'et, kræver at værdien ("1px") er placeret lige efter det andet mellemrum..
jeg for fejl hvis jeg bruger "pt" -> ... style="border: black 12pt solid"
Du skal huske at ændre "px" til "pt" alle steder: .match(/\d+pt/)[0].split("pt")[0]; .border = "black " + value + "pt solid"; style="border: black 12pt solid">
ha ha jeg kunne jo også bare gøre sådan: function Startup(){ var strBorder = div_border.style.border.split(" "); //-- alert(strBorder[1]); var intSel = strBorder[1].substr(0, strBorder[1].length-2); sel_form.sel_border.selectedIndex = intSel; } Da det bare skal virke i IE ;)
Nu er det jo ganske tåbeligt at bruge pt, hvis det er til skærm-brug, men da de to enheder tilfældigvis begge starter med et p, kan man jo: var strBorder = document.getElementById('div_border').style.border.match(/\d+p[tx]/)[0].split("p")[0];
smid et svar så for du point..
Vi tilbyder markedets bedste kurser inden for webudvikling