2011-12-28 118 views
18

有誰知道如何使用javascript或jquery設置選項和下拉菜單的值?我正在使用這種HTML:如何使用Javascript/jQuery設置下拉選項?

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

感謝您的幫助。

+0

你說的「設置的選項」是什麼意思?這是不明確的。 – 2011-12-28 21:09:54

回答

40

你甚至都不一定需要的jQuery:

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

Example

但這裏是使用jQuery無論如何:

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

Example

+0

謝謝!很棒。 :) – 2011-12-28 21:55:28

+1

我認爲在這行'.html(「要顯示的文本」)有一個錯字;'在最後刪除分號。它應該是'.html(「要顯示的文本」)'。 – Sivakumar 2015-04-27 13:50:20

+0

@Sivakumar哇,幾乎4歲,它沒有被注意到...修復。感謝您提出這一點!哈哈哈 – Purag 2015-04-28 02:30:29

2

有幾種不同的方法。其一是:

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

然而,這樣做的另一種方式,用selectadd method

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

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

例子:http://jsfiddle.net/pc9Dz/

或者另一種方式,通過向select直接分配值的options集合:

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

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

這裏是另一種方式來刪除使用該選項陣列使用JavaScript(類似於安德魯·惠特克的回答)選項:

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