2010-03-22 33 views
25

bài đăng đầu tiên ở đây, tôi đến trong hòa bình :) Tôi đã tìm kiếm nhưng không thể tìm thấy những gì tôi đang theo dõi.jQuery xóa tùy chọn đã chọn khỏi số

Tôi đang cố gắng điều khiển tùy chọn đã chọn của một hộp chọn. Có thể ai đó xin vui lòng giải thích lý do tại sao công trình này:

$('#some_select_box').click(function() { 
    $('#some_select_box option:selected').remove(); 
}); 

nhưng điều này không:

$('#some_select_box').click(function() { 
    $('this option:selected').remove(); 
}); 

Tôi chỉ muốn sử dụng "này" thay vì đánh vần ra id của hộp chọn - có thể ai đó điểm tôi đi đúng hướng cho cú pháp đúng? Nó làm tôi phát điên vì có vẻ như nó thực sự đơn giản. Và tôi chắc chắn nó là cho một ai đó, nhưng không phải tôi, cos cuối cùng của nó trong ngày và tôi đang chiên ... Bất kỳ con trỏ nhiều đánh giá cao.

Chúc mừng

Trả lời

50

this không phải là bộ chọn css. bạn có thể tránh đánh vần id của this bằng cách đi qua nó như là một bối cảnh:

$('option:selected', this).remove(); 

http://api.jquery.com/jQuery/

+0

Đó là tuyệt vời, nhờ ... Hình như có nhiều hơn nữa jquery điều phải học hỏi. Không nhận thức được cú pháp đó. Rất cám ơn :) – odavy

6
$('#some_select_box').click(function() { 
    $(this).find('option:selected').remove(); 
}); 

Sử dụng phương pháp find.

+0

Làm thế nào để làm điều đó mà không cần jQuery, trong javascript tinh khiết – YumYumYum

5

này nên làm như lừa:

$('#some_select_box').click(function() { 
    $('option:selected', this).remove(); 
}); 
1

Đây là một đơn giản hơn một

$('#some_select_box').find('option:selected').remove().end(); 
Các vấn đề liên quan