2010-04-10 7 views
0

L'extrait de code suivant est intégré dans certaines de mes divs. Lorsque vous cliquez sur ces divs, un bouton radio est coché.Comment puis-je écrire ceci en tant que fonction JavaScript?

onclick="document.g1.city[0].checked=true;" 

Cependant, je voudrais convertir l'appel ci-dessus à un appel de fonction comme ci-dessous:

onclick="checkRadioButton(city[0]);" 

Et la fonction sera quelque chose comme ça

function checkRadioButton(input){ 
    document.g1.input.checked=true; 
} 

est-il un moyen peut accomplir cela?

+1

Est-il possible de mettre "var" dans les arguments de fonctions? o_o –

+0

Désolé, corrigé ... – Haluk

Répondre

3

Vous pouvez écrire n'importe quel code Javascript à l'intérieur de l'attribut onclick. Rappelez-vous que city[0] n'est défini nulle part. Pour y accéder, vous devez spécifier le document.g1.city[0] complet. Ainsi, le onclick devient:

onclick="checkRadioButton(document.g1.city[0]);" 

l'intérieur de votre fonction, vous recevez déjà l'élément, et ne doit pas récupérer du document. Vous pouvez définir directement sa propriété checked:

function checkRadioButton(input) { 
    input.checked = true; 
} 
+0

Vous devez supprimer le mot-clé 'var' dans la liste des arguments de la fonction. – CMS

+0

merci de le signaler @CMS – Anurag

0
onclick="checkRadioButton(document.g1.city[0]);" 

checkRadioButton(var input){ 
    input.checked=true; 
} 

Vous pouvez également réduire la nécessité de fournir document.g1.city[0] si, par exemple, tous les DIV que vous marque a thusly un attribut « radioID », et la valeur de l'attribut doit correspondre à l'ID donné au bouton radio:

onclick="checkRadioButton(this);" 

checkRadioButton(var div){ 
    document.getElementById(div.radioID).checked=true; 
} 
+0

En xhtml Je suis censé utiliser chaque identifiant une seule fois sur chaque page, n'est-ce pas? Donc, ce code ne nécessitera pas de xhtml invalide où plusieurs éléments auront le même identifiant qui est 'radioID':" document.getElementById (div.radioID) .checked = true; " – Haluk

Questions connexes