2013-08-22 15 views
37

to moje polewartość wyboru jest zawsze 'na'

HTML

<label class="checkbox"> 
    <input id="eu_want_team" name="eu_want_team" type="checkbox"> 
</label> 

JQuery

var eu_want_team = $('#eu_want_team').val(); 
alert(eu_want_team); 

Jego zawsze wyświetlania, jest to sprawdzone, czy nie. Co to za problem?

+0

Witamy w przepełnieniu stosu. Zostałem ponownie oznaczony jako 'jQuery', zakładając, że pochodzą stąd' $() 'i' val() '. Jeśli mam rację, możesz to poprawić. Następnym razem, gdy zapytasz o nienatywną funkcję JavaScript, nie zapomnij opublikować jej kodu lub podaj, do której biblioteki należy. –

Odpowiedz

32

Korzystając .is(':checked') Zamiast: Working jsFiddle

var eu_want_team = $('#eu_want_team').is(':checked'); 
alert(eu_want_team); 

lub @Itay powiedział komentarze można użyć jQuery's .prop(), aby uzyskać c hecked wartość nieruchomości:

alert($("#eu_want_team").prop("checked")); 
+1

+1. Lub '$ (" # eu_want_team "). Prop (" sprawdzone ")' – Itay

+0

@Teraz Ty też masz rację. doda do odpowiedzi –

+0

Dziękuję bardzo! –

0

myślę, że to, co chcesz zrobić

$("#eu_want_team").click(function(){ 
    alert($(this).is(':checked')); 
} 
4
<label class="checkbox"> 
    <input id="eu_want_team" name="eu_want_team" type="checkbox" value="somevalue"> 
</label> 

<script> 
    var ele = document.getElementById("eu_want_team"); 
    if(ele.checked) 
    alert(ele.value) 

</script> 
0

będzie działać:

if ($('#element').is(":checked")) { 
    eu_want_team = 1; 
} else { 
    eu_want_team = 0; 
} 
alert(eu_want_team); 
0

Spróbuj

if ($('#element').is(':checked')){ 
    alert(element); 
    } 
Powiązane problemy