2013-03-20 14 views
31

mam to HTML:Sprawdź, czy przycisk opcji jest zaznaczone 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"> 

Po załadowaniu strony, żaden z nich nie będzie sprawdzana. Chcę użyć jQuery, aby sprawdzić, czy jeden z przycisków opcji jest zaznaczony po naciśnięciu przycisku.

mam to:

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

     // go on with script 

    } else { 

     // NOTHING IS CHECKED 
    } 
} 

Ale to nie działa. Jak to działa?

+9

identyfikatory ** ** Musi być unikalny. – j08691

+0

@LightnessRacesinOrbit Chce sprawdzić, czy któreś z jego skrzynek radiowych jest zaznaczone, a obecnie jego test nie działa. – Jlange

+0

Może masz starą wersję pytania, ponieważ twój cytat nie jest w nim? "Kiedy strona się załaduje, żadna z nich nie będzie zaznaczona I do korzystania z Jquery'ego w celu sprawdzenia, czy jeden z przycisków opcji jest zaznaczony?" - zakładając, że "chce używać JQuery". – Jlange

Odpowiedz

44

Try This

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

imo możesz bezpiecznie usunąć część '> 0', ponieważ dodatnie liczby całkowite _jest_ prawdziwe – T30

+0

Działa, ale nie czyta się tak dobrze, jak' $ ("input: radio"). (": checked") '. – NateS

69

Przede wszystkim, mają tylko jeden id="test"

drugie, spróbuj tego:

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

Czy nazwa = "test" nie jest literówką? Wierzę, że prawym onw jest ($ ("[id =" test "]"). Jest (": sprawdzane")) – Entrodus

+2

Nie należy nadużywać tego. I nigdy nie zrobiłbyś '$ ('[id =" test "]')' zrobiłbyś '$ ('# test')' – AlienWebguy

+0

Miałem taką samą sytuację i ta odpowiedź była tą, która mi pomogła. Dałem swój głos. Dziękuję Ci. –

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

coś takiego:

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

Korzystanie z jQuery jest funkcja() powinna praca.

+0

sprawdzone prace dla obu radiów i pól wyboru – AlienWebguy

9
if($("input:radio[name=test]").is(":checked")){ 
    //Code to append goes here 
} 
Powiązane problemy