如何按名称设置复选框默认值?

时间:2013-02-19 11:47:20

标签: javascript jquery

有没有办法设置默认选中的复选框,名称属性不是class或id?

<input type="checkbox" name="test">

我试过这个但不起作用:

document.getElementByName("test").checked = true;

请提供一个jsfiddle。

提前致谢!

6 个答案:

答案 0 :(得分:6)

是的,有可能。但是,没有getElementByName方法,只有getElementsByName。因此,如果您有一个名为"test"的元素,则可以执行以下操作:

document.getElementsByName("test")[0].checked = true;

否则,您可以为元素设置ID并使用document.getElementById

DEMO: http://jsfiddle.net/GKFcR/

答案 1 :(得分:3)

您可以使用document.querySelector在任何现代浏览器中按属性进行选择。

document.querySelector('[name=test]').checked = true;

http://jsfiddle.net/ExplosionPIlls/xpxHe/

答案 2 :(得分:3)

您可以使用jQuery执行此操作

$('input[name="test"]').attr('checked',true);

或Jquery 1.7+使用prop方法

 $('input[name="test"]').prop('checked',true);

答案 3 :(得分:2)

您可以使用jQuery或不使用:

$('input[name="test"]').prop('checked', true);
document.getElementsByName("test")[0].checked = true;

http://jsfiddle.net/UZB5Y/1/

您的示例不起作用,因为方法是getElementsByName,它返回一个元素数组。

或者,如果您控制HTML,您只需在服务器上将其设置为已选中:

<input type="checkbox" name="test" checked="checked">

答案 4 :(得分:1)

<input type="checkbox" name="test">

<input type="checkbox" name="test2">

<input type="checkbox" name="test2">

--------------------

// by jquery

$("input[name='test']").attr('checked','checked')

// by javascript

document.getElementsByName("test2")[0].checked = true;

这里是示例:http://jsfiddle.net/85x74/

答案 5 :(得分:0)

使用jquery更简单:

<input type="checkbox" name="test">

在jquery中:

$('input[name="test"]').attr('checked','checked');

在javascript中:

document.getElementsByName("test")[0].checked = true;