2012-03-01 5 views
0

Je veux ajouter l'option cochée à la case à cocher si elle a un identifiant ou une valeur de 2 à l'exécution en utilisant javascript. J'ai essayé avec le code suivant, mais je suis incapable de cocher la case. Des idées?comment cocher la case à cocher dans l'exécution

<div> 
     <h4>Filter by Area</h4>    
      <ul id="arealist"> 
    <li><input type ="checkbox" id="1" value="1" /> All</li> 
    <li><input type ="checkbox" id="2" value="2" /> some</li> 
    <li><input type ="checkbox" id="3" value="3" /> heavy</li> 
    <li><input type ="checkbox" id="4" value="4" /> more</li> 
    <li><input type ="checkbox" id="5" value="5" /> none</li> 

              </ul> </div> 
<script type="text/javascript" src="<?=base_url()?>js/jquery-1.6.4.min.js"></script>  
<script type="text/javascript"> 
$(document).ready(function(){ 
var areaname=2; //this value i am getting at run time. 
$("#areaname").prop("checked",true); 
}); 
</script> 
+0

try '$ (" # areaname "). Attr ('cochée', 'cochée');' – arunes

+0

Salut @arunes, Ca ne fonctionne pas. Merci pour votre réponse. – srinu

+0

Désolé, j'ai raté cette variable, essayez '$ (" # "+ areaname) .attr ('checked', 'checked');' comme @ Xeon06 a dit – arunes

Répondre

0

Votre attribut ID ne peut pas être juste un nombre entier, il doit commence par une lettre. Si vous les nommez quelque chose comme area1, area2, area3 etc ... et mettez à jour votre code, cela devrait fonctionner correctement. Voici un JSFiddle avec une version mise à jour fonctionnant bien.

+0

Salut @musicinmyhead, Un grand merci. C'est parfait. – srinu

+0

Salut srinu merci pour l'acceptation :) S'il vous plaît aller de l'avant et donner @ Xeon06 un vote aussi bien pour afficher une réponse tout aussi utile :) – musicinmyhead

5

Vous devez concaténer votre chaîne.

$("#" + areaname).prop("checked", true); 

Live example

En outre, your ID names are invalid. Pensez-y comme des variables. Utilisez des noms qui ne commencent pas avec les chiffres, n'ont pas d'espaces, etc.

0

Essayez

$("#" + areaname).attr("checked", true); 

Au lieu de

$("#areaname").prop("checked",true); 
+0

Pourquoi avez-vous passé 'prop' à' attr'? –

+0

Aucune raison, j'utilise toujours attr - je suppose que c'est juste une préférence. –

+1

C'est un peu plus compliqué que ça. http://stackoverflow.com/a/5876747/104999 –