2010-08-13 33 views

Trả lời

24

gì về một cái gì đó như thế này? (Sử dụng jQuery):

$('input:radio').each(function() { 
    if($(this).is(':checked')) { 
    // You have a checked radio button here... 
    } 
    else { 
    // Or an unchecked one here... 
    } 
}); 

Bạn cũng có thể lặp qua tất cả các nút radio kiểm tra như thế này, nếu bạn thích:

$('input:radio:checked').each(function() { 
    // Iterate through all checked radio buttons 
}); 
2

tôi không thể quá chắc chắn những gì bạn có ý nghĩa nhưng nếu bạn muốn làm điều gì đó cho tất cả các nút radio trên một trang web mà bạn có thể làm điều này:

$("input:radio").each(function(){ 
    //do something here 
}); 
+1

Bộ chọn "radio" sẽ không trả về gì cả. Không có phần tử (thẻ) nào được gọi là "radio" trong HTML. Đó là Topera

+0

$ (': radio') tương đương với $ ('[type = radio]'). http://api.jquery.com/radio-selector/ –

+0

@Dumb Guy: Tôi nghĩ @Topera đã đề cập đến bản chỉnh sửa trước, được sửa bởi @Razor Storm –

6

... trong trường hợp ai đó muốn làm điều này mà không cần jQuery (kể từ nó là một phần của câu hỏi):

Tôi không chắc chắn ý của bạn là gì mà không có biểu mẫu. Nếu bạn có nghĩa là bạn không muốn pass the form element to a javascript function, bạn có thể làm điều đó như thế này:

for (var i = 0; i < document.form_name.radio_name.length; i++) { 
    if (document.form_name.radio_name[i].checked) { 
     // ... 
    } 
} 

Nếu bạn có ý nghĩa mà không có một hình thức như trong bạn không có nút biểu mẫu, bạn có thể bọc chúng trong một khoảng thời gian (hoặc một div) và sử dụng mã như sau:

var span = document.getElementById("span_id"); 
var inputs = span.getElementsByTagName("input"); 
for (var i = 0; i < inputs.length; ++i) { 
    if (inputs[i].checked) { 
     // ... 
    } 
} 
Các vấn đề liên quan