23

Does anyone know how to set the options and the values of a dropdown menu using javascript or jquery? I'm using this HTML:

<select size="1" id="D1">
</select>

Thanks for the help.

1
  • What do you mean by 'set the options'? This is ambiguous. Commented Dec 28, 2011 at 21:09

5 Answers 5

54

You don't even necessarily need jQuery:

var select = document.getElementById("D1"),
    opt = document.createElement("option");
opt.value = "value";
opt.textContent = "text to be displayed";
select.appendChild(opt);

Example.

But here it is with jQuery anyway:

$("select#D1").append( $("<option>")
    .val("value")
    .html("text to be displayed")
);

Example.

Sign up to request clarification or add additional context in comments.

2 Comments

I think there is a typo at this line .html("text to be displayed"); remove semicolon at the end. It should be .html("text to be displayed").
@Sivakumar Wow, almost 4 years old and it went unnoticed...fixed. Thanks for bringing that up! hahaha
14

Yet another way of doing it, using select's add method:

var select = $("#select")[0];

select.add(new Option("one", 1));
select.add(new Option("two", 2));
select.add(new Option("three", 3));

Example: http://jsfiddle.net/pc9Dz/

Or another way, by directly assigning values to the select's options collection:

var select = $("#select")[0];

select.options[0] = new Option("one", 1);
select.options[1] = new Option("two", 2);

Comments

3

There are a few different ways. One is:

$("#D1").append("<option>Fred</option>");

Comments

3

Here's yet another way to remove options using javascript (similar to Andrew Whitaker's answer) by using the options array:

var select = document.getElementById("D1");
select.options.length = 0;//remove all options

Comments

1
$("#dropdown").html("<option value='val1'>label 1</option><option value='val2' selected='selected'>label 2</option>");

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.