2010-01-13 4 views
3

je les suivantes et dans cet ordre:jquery: attribut checked d'entrée bouton radio est undefined

<script type="text/javascript"> 
    $(document).ready(function(){ 
    var overwrite = $('#itemList input:radio:checked').val() 

    alert('value = '+ overwrite); 
    }); 
</script> 
<body> 
    <form ..... > 
    <div id="itemList"> 
    Overwrite? 
    <input type="radio" value="Yes" class="overWrite" name="overWrite" >Yes 
    <input type="radio" value="No" class="overWrite" name="overWrite" >No 
    </div> 
    </form> 
</body> 

quand il fonctionne, l'alerte aura « valeur = non définie »

MAIS, si je mets le javascript après le div (ou le corps), l'alerte revient avec 'value = Yes'

Pourquoi jquery ne reconnaît pas le type radio au début de la page? Si je crée un type = 'hidden', jquery peut lire/reconnaître la valeur si au début de la page. Lorsque type = 'radio', le comportement est différent

+2

pourquoi est votre '

5

J'ai eu le même problème avec « non défini ».

quand je l'ai testé cette

var isChecked = $('#itemList').attr('checked'); 

isChecked était 'non défini'

et pour cette

var isChecked = $('#itemList').prop('checked'); 

isChecked est vrai ou faux

Questions connexes