我怎么能做出“全部选中”链接,标志着所有复选框有一个TD里面:制作“全部标记”按钮
<td style="padding-right:4px;padding:4px;" class="alternating">
<input name="cbPick" type="checkbox" value="88156144" />
</td>
不知道你在写这篇文章的语言JavaScript的.. ?
我怎么能做出“全部选中”链接,标志着所有复选框有一个TD里面:制作“全部标记”按钮
<td style="padding-right:4px;padding:4px;" class="alternating">
<input name="cbPick" type="checkbox" value="88156144" />
</td>
不知道你在写这篇文章的语言JavaScript的.. ?
代码:
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!
,不会使用正常的javascript – Breezer 2010-11-01 16:02:22
@Breezer:是的,它需要jQuery。 jQuery就像.NET一样 - 像“它需要额外的软件”这样的评论是石器时代的空缺!! – abatishchev 2010-11-01 16:17:38
@Johnson:很高兴帮助! – abatishchev 2010-11-01 16:20:52
呀JavaScript是到这里去 的方法是一种方式的链接做
http://www.shiningstar.net/articles/articles/javascript/checkboxes.asp
是的,这将是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>
如果你正在缓存'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
它将在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的内部是第一个孩子 - 否则这个代码会更复杂。
This解决方案也不需要任何额外的库 - 我认为abatishchev的解决方案需要JQuery - 它看起来像JQuery。 – 2010-11-01 16:03:35
差不多你唯一的选择将是使用Javascript。 – Pointy 2010-11-01 15:53:08