3

I want this script to add an option to the list.

When you open the list I want the options to be test and hello

What am I doing wrong?

<SCRIPT>
function runList(){
    document.getElementById('list').value = "<option>hello</option>";
}
</SCRIPT>

<FORM NAME="myform" ACTION="" METHOD="GET">
Your Options:
<INPUT TYPE="button" NAME="button" VALUE="Click" onClick="runList()"/>
<SELECT NAME="list" ID="list">
<OPTION>test</OPTION>
</SELECT>
StealingMana
  • 77
  • 1
  • 1
  • 15

3 Answers3

6

You need to actually add the option object to the dom. I have linked to a fiddle with your example working: http://jsfiddle.net/DS8TG/

Change runList to the following:

function runList(){
  var select = document.getElementById('list');
  select.options[select.options.length] = new Option('Hello', 'Hello');
}​
Jeff Beck
  • 3,944
  • 3
  • 28
  • 45
5

try out this

var element = document.getElementById('list');
element.options[element.length] 
   = new Option('yourText', 'yourValue');
Pranay Rana
  • 175,020
  • 35
  • 237
  • 263
0
var select = document.getElelmentById('test');
var option = document.createElement('option');
option.value = 'value';
select.appendChild(option)
jordancpaul
  • 2,954
  • 1
  • 18
  • 27