2013-03-20 63 views
31

Tôi có HTML này:Kiểm tra nếu một nút radio được kiểm tra jquery

<input type="radio" name="test" id="test" value="1"><br> 
<input type="radio" name="test" id="test" value="2"><br> 
<input type="radio" name="test" id="test" value="3"><br> 

<input type="button" onclick="CreateJobDo"> 

Khi tải trang web, không ai trong số họ sẽ được kiểm tra. Tôi muốn sử dụng jQuery để kiểm tra xem một trong các nút radio có được kiểm tra hay không khi nút được nhấn.

Tôi có điều này:

function CreateJobDo(){ 
    if ($("input[@name=test]:checked").val() == 'undefined') { 

     // go on with script 

    } else { 

     // NOTHING IS CHECKED 
    } 
} 

Nhưng điều này không làm việc. Làm thế nào để nó hoạt động?

+9

ID ** PHẢI ** là duy nhất. – j08691

+0

@LightnessRacesinOrbit Anh ấy muốn kiểm tra xem có bất kỳ hộp radio nào của anh ấy được kiểm tra hay không và hiện tại tuyên bố thử nghiệm của anh ấy không hoạt động. – Jlange

+0

Vâng, có thể bạn có một phiên bản cũ của câu hỏi, bởi vì báo giá của bạn không có trong đó? "Khi trang tải, không có trang nào được kiểm tra. Tôi sử dụng Jquery để kiểm tra xem một trong các nút radio đã được kiểm tra chưa?" - giả sử anh ta "muốn sử dụng JQuery". – Jlange

Trả lời

44

thử này

if($('input:radio:checked').length > 0){ 
// go on with script 
}else{ 
    // NOTHING IS CHECKED 
} 
+3

imo bạn có thể xóa phần '> 0' một cách an toàn vì số nguyên dương _are_ true – T30

+0

Nó hoạt động, nhưng nó không đọc cũng như' $ ("đầu vào: radio"). (': checked') '. – NateS

69

Trước hết, chỉ có một id="test"

Thứ hai, hãy thử này:

if ($('[name="test"]').is(':checked')) 
+1

Không phải là tên = "thử nghiệm" một lỗi đánh máy? tôi tin rằng onw đúng là ($ ('[id = "test"]'). là (': checked')) – Entrodus

+2

Đừng làm hỏng nó. Và bạn sẽ không bao giờ làm '$ ('[id =" test "]')' bạn sẽ làm '$ ('# test')' – AlienWebguy

+0

Tôi có cùng hoàn cảnh và câu trả lời này là câu trả lời giúp tôi. Tôi đã bỏ phiếu. Cảm ơn bạn. –

2
$('#submit_button').click(function() { 
    if (!$("input[@name='name']:checked").val()) { 
     alert('Nothing is checked!'); 
     return false; 
    } 
    else { 
     alert('One of the radio buttons is checked!'); 
    } 
    }); 
16

Something như thế này:

$("input[name=test]").is(":checked"); 

Sử dụng jQuery là() chức năng nên công việc.

+0

được kiểm tra hoạt động cho cả radio và hộp kiểm – AlienWebguy

9
if($("input:radio[name=test]").is(":checked")){ 
    //Code to append goes here 
} 
Các vấn đề liên quan