2011-12-28 38 views

Trả lời

40

Bạn thậm chí không nhất thiết cần jQuery:

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

Example.

Nhưng ở đây nó là với jQuery anyway:

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

Example.

+0

Cảm ơn! Hoạt động tuyệt vời. :) –

+1

Tôi nghĩ rằng có một lỗi đánh máy tại dòng này '.html (" văn bản được hiển thị ");' loại bỏ dấu chấm phẩy ở cuối. Nó phải là '.html (" văn bản được hiển thị ")'. – Sivakumar

+0

@Sivakumar Wow, gần 4 tuổi và nó không được chú ý ... cố định. Cảm ơn vì đã mang mà lên! hahaha – Purag

2

Có một vài cách khác nhau. Một là:

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

Tuy nhiên, một cách khác để làm việc đó, sử dụng 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)); 

Ví dụ:http://jsfiddle.net/pc9Dz/

Hoặc một cách khác, bằng cách trực tiếp gán giá trị cho các select 's options bộ sưu tập:

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

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

Dưới đây là một cách khác để loại bỏ tùy chọn sử dụng javascript (tương tự như câu trả lời Andrew Whitaker của) bằng cách sử dụng các tùy chọn mảng:

var select = document.getElementById("D1"); 
select.options.length = 0;//remove all options 
Các vấn đề liên quan