如何创建“检查所有”JavaScript方法
How to create "check all" JavaScript method
我感兴趣的是如何创建一个调用JavaScript方法的按钮,该按钮使h:table(简单的html表(中的所有复选框都被选中?以及如何使用 JavaScript 方法再次取消选中表中的所有复选框?你能给我看一些截取的代码或工作示例吗?
- 创建按钮
- 向按钮添加事件侦听器。在侦听器中,执行以下操作:
- 选择要选中所有框的表元素,例如按 Id
- 对输入元素使用
getElementsByTagName
- 循环访问输入列表:
- 如果输入的类型为"复选框",则将其
checked
属性设置为true
- 如果输入的类型为"复选框",则将其
<h:table>
<input type="checkbox" />
<input type="checkbox" />
</h:table>
<script>
function checkBoxesForMe( checkBoxesOn )
{
var table = document.getElementsByTagName( 'h:table' )[ 0 ]
var inputs = table.getElementsByTagName( 'input' )
for( var i = 0; i < inputs.length; i ++ )
{
if( inputs[ i ].type == 'checkbox' )
{
if( checkBoxesOn )
inputs[ i ].setAttribute( 'checked', true )
else
inputs[ i ].removeAttribute( 'checked' )
}
}
}
</script>
以下函数应该是不言自明的:
function checkboxesCheckAll() {
var boxes = document.getElementsByTagName('input');
var i = boxes.length;
while (i--) {
if (boxes[i].type == 'checkbox') boxes[i].checked = true;
}
}
function checkboxesCheckNone() {
var boxes = document.getElementsByTagName('input');
var i = boxes.length;
while (i--) {
if (boxes[i].type == 'checkbox') boxes[i].checked = false;
}
}
function checkboxesCheckToggle() {
var boxes = document.getElementsByTagName('input');
var i = boxes.length;
while (i--) {
if (boxes[i].type == 'checkbox') boxes[i].checked = !boxes[i].checked;
}
}
或者你可以把它写成一个函数,并传递一个参数来检查、取消或切换它们。
你可以非常轻松地使用 jQuery 来做到这一点:
检查全部
$("[type=checkbox]").prop("checked", true);
取消选中全部:
$("[type=checkbox]").prop("checked", false);
所以用按钮:
<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<br/>
<button data-action="check">Check All</button>
<button data-action="uncheck">Uncheck All</button>
$('button').click(function() {
$("[type=checkbox]").prop("checked", $(this).data('action') === 'check');
})
小提琴:http://jsfiddle.net/Bn386/
相关文章:
- 使用 jQuery 检查所有值是否为空或已填充
- Underscore.js某些对象的所有方法的总和
- jquery如果检查所有总和x2
- 为什么这个jQuery代码检查所有复选框不起作用
- 检查所有元素的属性并修改另一个元素
- 如何检查所有文本框(包括动态添加的)是否为空
- 在要设置动画的所有方法之间进行选择
- 从一个对象中找出所有方法
- 我需要一个带有可滚动正文的固定表头.我已经尝试了所有方法,但它似乎不起作用
- 如何使用angular检查所有复选框
- 在ES2015中,如何确保所有方法都等待对象初始化?使用ES7装饰器
- jQuery检查所有复选框只工作一次
- 音频HTML5检查所有音频元素是否已完全加载
- 找到将 N 个对象分布到 M 集合中的所有方法的算法
- 如何检查所有浏览器实例是否使用 HTML/JavaScript 关闭
- 检查所有单选列表单选按钮是否已在 GridView 上选中
- 如何创建“检查所有”JavaScript方法
- 定义了检查所有子数组的最干净的方法
- JQuery:如何使用Each方法检查所有表单输入元素中的值
- Javascript/jQuery是否有内置的方法或插件来检查所有表单数据的值/名称?