2009-12-30 39 views
53

Tôi có một danh sách thả xuống và muốn xóa một tùy chọn khỏi nó, cho văn bản/giá trị của tùy chọn cụ thể đó. Có thể sử dụng jQuery không? Giống như 'nối thêm' thêm một tùy chọn vào danh sách thả xuống, có chức năng nào để xóa một tùy chọn không?jQuery để xóa một tùy chọn khỏi danh sách thả xuống, văn bản/giá trị của tùy chọn đã cho

Tôi đã thử tìm kiếm nhưng tất cả những gì tôi nhận được là các ví dụ trong đó toàn bộ các tùy chọn trong danh sách thả xuống bị xóa, không phải là những gì tôi tìm kiếm.

cổ vũ

Trả lời

128

$("option[value='foo']").remove();

hoặc tốt hơn (nếu bạn có vài chọn trong trang):

$("#select_id option[value='foo']").remove();

+0

Nó hoạt động. Cảm ơn. –

+0

Nếu foo là biến số thì sao? cú pháp sau đó sẽ như thế nào? – JeffJeffery

+2

@JeffJaffery: '$ (" tùy chọn [value = '"+ foo +"'] "). Remove();' –

18

Một khi bạn đã bản địa hoá các yếu tố thả xuống

dropdownElement = $("#dropdownElement"); 

Tìm số <option> yếu tố sử dụng JQuery attribute selector

dropdownElement.find('option[value=foo]').remove(); 
+2

Hoàn hảo, cảm ơn! (Ở khắp mọi nơi tôi đã đi, tôi tìm thấy thông tin về làm thế nào để chọn một tùy chọn cá nhân với một bộ chọn. Tôi đã tìm cách để loại bỏ một tùy chọn cho bạn đã có thả xuống được chọn, mà có vẻ như trường hợp sử dụng điển hình hơn.) – neminem

+0

đây là Câu trả lời hiệu quả hơn câu trả lời trước: D –

+0

Đây là cách tôi thích làm mọi thứ, lần đầu tiên tôi thấy ai đó có kỷ luật rõ ràng và sạch sẽ như thế này. Có bất kỳ tài nguyên nào khác trên cách sử dụng JQuery này không? – Arjang

0

Tôi biết điều đó là rất muộn nhưng phương pháp sau đây cũng có thể được sử dụng:

<select id="type" name="type" > 
    <option value="Permanent" id="permanent">I am here to stay.</option> 
    <option value="toremove" id="toremove">Remove me!</option> 
    <option value="Other" id="other">Other</option> 
</select> 

và nếu tôi phải loại bỏ tùy chọn thứ hai (id = toremove), kịch bản trông giống như

$('#toremove').hide(); 
Các vấn đề liên quan