2010-04-10 62 views
0

我有下面的代码片段嵌入到我的一些divs,所以当这些div被点击某个单选按钮被检查。我该如何将它写成JavaScript函数?

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

不过,我想上面的调用转换函数调用象下面这样:

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

该函数将是这样的

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

有没有一种方法,我可以做到这一点?

+1

是否有可能把“VAR”的函数参数? o_o – 2010-04-10 18:29:51

+0

对不起,固定... – Haluk 2010-04-10 18:54:27

回答

3

您可以在onclick属性内编写任何Javascript代码。请记住,city[0]没有在任何地方定义。要访问它,您必须指定完整的document.g1.city[0]。因此,onclick变为:

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

在函数内部,您已经接收到该元素,并且不必从文档中再次检索它。你可以直接设置它的checked属性:

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

您需要删除函数参数列表中的'var'关键字。 – CMS 2010-04-10 22:52:15

+0

感谢您指出@CMS – Anurag 2010-04-10 23:25:17

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

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

您还可以减少需要,如果供应document.g1.city[0],例如,每DIV您标记正是如此有一个属性“radioID”,属性必须给予单选按钮的ID相匹配的值:

onclick="checkRadioButton(this);" 

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

在xhtml中,我应该在每个页面上只使用一次每个ID?因此,这段代码不需要无效的xhtml,其中多个元素将具有相同的id,即'radioID':“document.getElementById(div.radioID).checked = true;” – Haluk 2010-04-10 18:46:23

相关问题