2013-02-19 106 views
2

有没有办法将默认选中的复选框设置为name属性而非class或id?如何按名称设置复选框默认值?

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

我试过,但不起作用:

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

请提供的jsfiddle。

在此先感谢!

回答

6

是的,这是可能的。但是,没有getElementByName方法,只有getElementsByName。所以,如果你有名字"test"一个单一的元素,你可以这样做:

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

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

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

+0

我有这就像在一个后端文件100属性这一点,我想用默认值将所有选中的,这就是为什么我想提出一个jQuery/JS在onload.js,我不得不搜索该输入,它会工作吗? – Abude 2013-02-19 11:51:42

+0

只需将其添加到HTML? 'checked =“checked”' – Wez 2013-02-19 11:52:29

+1

@Wezly - 'checked =“checked”',not'true'。 – Quentin 2013-02-19 11:53:09

3

你可以这样做与jQuery

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

或jQuery的1.7+使用prop方法

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

更正确的是'.attr(“checked”,“checked”);'。 – VisioN 2013-02-19 11:57:57

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"> 
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/

0

使用jQuery更简单:

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

jquery:

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

在javascript中:

document.getElementsByName("test")[0].checked = true; 
相关问题