2009-06-05 10 views
2

Je souhaite obtenir la valeur de la case à cocher dans la variable de résultat. Mais je reçois la valeur "non défini" dans la boîte d'alerte. Quelle est mon erreur?Valeur de la case à cocher

var result = ""; 
$("#required").change(function(){ 
     result= $(".mycheckbox:checked").val(); 
     alert(result); 
     }); 


<div class=".mycheckbox"> 
<input id="required" type="checkbox" title="Required" name="required" value="required"> 
<label for="required">Required</label> 
</div> 

Répondre

4

Il vaut mieux utiliser cliquez sur événement au lieu du changement, comme événement de changement fonctionne différemment selon le navigateur par exemple IE only fires the change event when the checkbox loses focus.

$(function() { 
    $("#required").click(function(){ 
     var result= $(this).attr('checked'); 
     alert(result);     
    }); 
}); 

Working Demo

Edit:

Je pense que je l'ai mal compris votre question. Si vous voulez seulement afficher une alerte à la valeur de case à cocher lorsque la case est cochée, quelque chose comme ce qui suit fonctionnera

$(function() { 
    $("#required").click(function(){ 
     if ($(this).is(':checked')) { 
      var result = $(this).val(); 
      alert(result); 
     }    
    }); 
}); 

Working Demo

4

Dans votre code

result= $(".mycheckbox:checked").val(); 

Je pense qu'il devrait être

result= $("#required").val(); 
2

$ ("de myCheckBox. Checked") n'est pas correct, il devrait être:

$(".mycheckbox :checked") 

(notez l'espace)

Votre déclaration div est également incorrecte. Vous ne devez pas ajouter le point au nom de la classe:

<div class="mycheckbox"> 
2

Vous pouvez faire quelque chose comme:

var result = ($("#required").is(':checked')) ? $("#required").val() : false; 
Questions connexes