2013-02-19 107 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; 
相關問題