2010-11-01 49 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