2010-11-01 45 views
1

我怎麼能做出「全部選中」鏈接,標誌着所有複選框有一個TD裏面:製作「全部標記」按鈕

<td style="padding-right:4px;padding:4px;" class="alternating"> 
    <input name="cbPick" type="checkbox" value="88156144" /> 
</td> 

不知道你在寫這篇文章的語言JavaScript的.. ?

+2

差不多你唯一的選擇將是使用Javascript。 – Pointy 2010-11-01 15:53:08

回答

1

代碼:

function checkAll(value, arr) { 
$(arr).each(function() { 
    if (value) { 
    $(this).attr('checked', 'checked'); 
    } 
    else { 
    $(this).removeAttr('checked'); 
    } 
}); 
} 

用法:

<input type="checkbox" class="check' /><br /> 
<input type="checkbox" class="check' /><br /> 
<input type="checkbox" class="check' /><br /> 
<a href="#" onclick="checkAll(true, $('.check'))">Mark all</a> 

P.S.

是的,它需要jQuery。 OMG OMG!

+0

,不會使用正常的javascript – Breezer 2010-11-01 16:02:22

+0

@Breezer:是的,它需要jQuery。 jQuery就像.NET一樣 - 像「它需要額外的軟件」這樣的評論是石器時代的空缺!! – abatishchev 2010-11-01 16:17:38

+0

@Johnson:很高興幫助! – abatishchev 2010-11-01 16:20:52

1

是的,這將是JavaScript的,是這樣的:

<script type="text/javascript"> 
function selectAll(x) { 
    for(var i=0,l=x.form.length; i<l; i++){ 
    if(x.form[i].type == 'checkbox' && x.form[i].name != 'selectAll'){ 
     x.form[i].checked=x.form[i].checked?false:true 
    } 
    } 
} 
</script> 

<form> 
<input type="checkbox" name="selectAll" onclick="selectAll(this)" /> (Select all)<br /> 
<input type="checkbox" name="a" /> (A)<br /> 
<input type="checkbox" name="b" /> (B)<br /> 
<input type="checkbox" name="c" /> (C)<br /> 
<input type="checkbox" name="d" /> (D)<br /> 
<input type="checkbox" name="e" /> (E) 
</form> 
+0

如果你正在緩存'x.form'的長度,那麼你也可以緩存'x.form'和'x.form [i]'。我認爲'x.form [i] .checked = x.form [i] .checked?false:true'應該是'x.form [i] .checked = x.checked'。 – Matt 2010-11-01 16:05:45

2

它將在Javascript中。 您將使用DOM API。

function markAll() { 
    var tds = document.getElementsByTagName('td'); 
    for(var index in tds) { 
    var innerNode = tds[index].firstChild; 
    if(innerNode.tagName == 'input' && innerNode.attributes.type="checkbox") 
     innerNode.checked = true; 
    } 
} 

然後您需要確保標記所有鏈接的onClicked處理函數引用此函數。這段代碼還假設在ticks的內部是第一個孩子 - 否則這個代碼會更復雜。

參考信息: http://www.w3schools.com/jsref/dom_obj_checkbox.asp

+0

This解決方案也不需要任何額外的庫 - 我認爲abatishchev的解決方案需要JQuery - 它看起來像JQuery。 – 2010-11-01 16:03:35