制作“全部标记”按钮

时间:2010-11-01 15:52:30

标签: javascript html

如何制作一个“全部标记”链接,标记td内的所有复选框:

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

不知道你用什么语言写这个...... JavaScript?

4 个答案:

答案 0 :(得分: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;
  }
}

然后,您需要确保mark all链接的onClicked处理程序引用此函数。此代码还假设当复选框位于TD的内部时,它是第一个孩子 - 否则此代码会更复杂。

参考资料: http://www.w3schools.com/jsref/dom_obj_checkbox.asp

答案 1 :(得分: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>

答案 2 :(得分: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 !!

答案 3 :(得分:0)

是的,javascript是要走的路 这是一个方法的链接

http://www.shiningstar.net/articles/articles/javascript/checkboxes.asp