Toon posts:

[JS] Bij toevoegen van option aan select werkt   niet

Pagina: 1
Acties:

Verwijderd

Topicstarter
Het simpels uit te leggen via het onderstaande script:

code:
1
2
3
4
5
6
7
8
9
<select id="selectBox">
  <option value="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HTML ingesprongen</option>
</select>

<script>
  SelectBoxObj = document.getElementById('selectBox');
  SelectBoxObj.options[SelectBoxObj.options.length] = new Option('normaal', '');
  SelectBoxObj.options[SelectBoxObj.options.length] = new Option("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JS ingesprongen", '');
</script>


Ik wil bepaalde waarden van de selectbox dus in te laten springen dmv een nbsp, normaal geen probleem als je de options gewoon in HTML toevoegt, maar via javascript staat er dus letterlijk
code:
1
&nbsp;


Wat kan hiervan de oorzaak zijn, en hoe zou ik het op kunnen lossen?

[ Voor 14% gewijzigd door Verwijderd op 08-12-2005 23:31 ]


  • frickY
  • Registratie: Juli 2001
  • Laatst online: 21-04 13:13
Weet niet precies uit mn hoofd hoe het zit, maar zoek eens in de richting van
JavaScript:
1
2
3
4
5
var nieuweoptie = new Option();
nieuweoptie.text = document.creactTextNode();
nieuweoptie.text.innerHTML = "&nbsp; Test";
nieuweoptie.value = "test';
SelectBoxObj.options[SelectBoxObj.options.length] = nieuweoptie


Eigenlijk zou je ook appendChild() moeten gebruiken, als ik me niets vergis, als je het braaf volgens de DOM wilt doen.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:49

crisp

Devver

Pixelated

JavaScript:
1
String.fromCharCode(160);

of je options met CSS white-space:pre geven (voor zover browsers daar ondersteuning voor bieden, en dan ook specifiek voor selects), dan kan je gewoon met spaties werken.

[ Voor 10% gewijzigd door crisp op 08-12-2005 23:38 ]

Intentionally left blank