2014-04-10 16 views
14

Hi all Tôi có một thả xuống như bên dưới:Làm thế nào để Hủy bỏ tất cả các tùy chọn từ một danh sách lí sử dụng Jquery/JS

<select id="models" onchange="removeElements()"> 
      <option id = "remove" value="0">R8</option> 
      <option id = "remove" value="1">Quattro</option> 
      <option id = "remove" value="2">A6 hatchback</option> 
</select> 

thế nào tôi sẽ tạo ra removeElements kịch bản() sẽ loại bỏ tất cả các tùy chọn bên trong lựa chọn?

+4

Bạn hiểu rằng phần id có nghĩa là có một tên duy nhất, không phải là thẻ tùy chọn của bạn. – gsamaras

+0

Lặp lại - http://stackoverflow.com/questions/3364493/how-do-i-clear-all-options-in-a-dropdown-box – Christian

+0

JS đơn giản: 'document.getElementById ('models'). Length = 0' làm điều đó cho tôi. Nếu bạn đã có một tham chiếu đến lựa chọn, thì 'select.length = 0' (xem [HTML5 section 4.10.7] (http://www.w3.org/html/wg/drafts/html/master/forms. html # dom-select-length)). – RobG

Trả lời

45

Bạn không nói mà event.Just sử dụng dưới đây về sự kiện của bạn listener.Or trong tải trang của bạn

$('#models').empty() 

Sau đó, để phục hồi lại

$.getJSON('@Url.Action("YourUrl")',function(data){ 
var dropdown=$('#models'); 
dropdown.empty(); 
$.each(data, function (index, item) { 
    dropdown.append(
     $('<option>', { 
      value: item.valueField, 
      text: item.DisplayField 
     }, '</option>')) 
     } 
    )}); 
+0

sau đó tôi có thể mô phỏng lại các mô hình được chọn sau khi chạy phương pháp này không? – TotalNewbie

+0

Tôi cần để trống nội dung trên thay đổi và repopulate thả xuống – TotalNewbie

+0

không sau khi tôi cleat hộp chọn Tôi nhằm mục đích thực hiện một cuộc gọi ajax và sau đó repopulate thả xuống – TotalNewbie

11

Bạn có thể sử dụng .remove() vào tùy chọn yếu tố:

.remove(): Xóa bộ phần tử phù hợp khỏi DOM.

$('#models option').remove(); or $('#models').remove('option'); 

hoặc sử dụng .empty() trên chọn:

.empty(): Hủy bỏ tất cả các nút con của tập hợp các yếu tố phù hợp với từ DOM.

$('#models').empty(); 

lựa chọn tuy nhiên để phục hồi lại xóa, bạn cần lưu trữ tùy chọn khi xóa.

Bạn cũng có thể đạt được cùng sử dụng show/hide:

$("#models option").hide(); 

và sau đó để cho họ thấy:

$("#models option").show(); 
+0

hiện/ẩn các tùy chọn được chọn không hoạt động trong IE – black666

0
function removeElements(){ 
    $('#models').html(''); 
} 
0

Hãy thử điều này

function removeElements(){ 
    $('#models').html(""); 
} 
0

Trong trường hợp .empty() không hoạt động cho bạn, dành cho tôi

function SetDropDownToEmpty() 
{   
$('#dropdown').find('option').remove().end().append('<option value="0"></option>'); 
$("#dropdown").trigger("liszt:updated");   
} 

$(document).ready(
SetDropDownToEmpty() ; 
) 
Các vấn đề liên quan