首页 / Javascript / 正文

[javascript]使用jQuery如何选中一个复选框(checkbox)?

3283 发布于: 2018-03-06 读完约需7分钟

问题描述

如题,当前有需求,需要使用jQuery选中一个复选框(checkbox),以下为jQuery的伪代码:

登录后复制
$(".myCheckBox").checked(true);

或者

登录后复制
$(".myCheckBox").selected(true);

那么,使用jQuery如何实现选中复选框(checkbox)的功能呢?

方案一

jQuery 1.6+ 版本中
可以使用新的jQuery方法.prop(),如:

登录后复制
$('.myCheckbox').prop('checked', true); $('.myCheckbox').prop('checked', false);

jQuery 1.5.x 或者以下版本
.prop()方法不可用,我们可以使用.attr()方法来处理和实现,如:

登录后复制
$('.myCheckbox').attr('checked', true); $('.myCheckbox').attr('checked', false);

如果你的HTML文档中只有惟一的元素,则还可以使用通用于任何jQuery版本的写法,如:

登录后复制
$('.myCheckbox')[0].checked = true; $('.myCheckbox')[0].checked = false;

方案二

封装一个jQuery的复选框勾选的插件,如:

登录后复制
(function( $ ) { $.fn.checked = function(value) { if(value === true || value === false) { $(this).each(function(){ this.checked = value; }); } else if(value === undefined || value === 'toggle') { $(this).each(function(){ this.checked = !this.checked; }); } return this; }; })( jQuery );

调用示例:

登录后复制
// 选中 $(':checkbox').prop('checked', true); // 不选中 $(':checkbox').prop('checked', false); // 选中和不选中切换 $(':checkbox').prop('checked', function (i, value) { return !value; });

方案三

另一种jQuery的扩展封装,如:

登录后复制
(function($) { $.fn.extend({ check : function() { return this.filter(":radio, :checkbox").attr("checked", true); }, uncheck : function() { return this.filter(":radio, :checkbox").removeAttr("checked"); } }); }(jQuery));

调用示例:

登录后复制
$(":checkbox").check(); $(":checkbox").uncheck();

方案四

使用纯javascript而不使用jQuery实现的方法:

登录后复制
function addOrAttachListener(el, type, listener, useCapture) { if (el.addEventListener) { el.addEventListener(type, listener, useCapture); } else if (el.attachEvent) { el.attachEvent("on" + type, listener); } }; addOrAttachListener(window, "load", function() { var cbElem = document.getElementById("cb"); var rcbElem = document.getElementById("rcb"); addOrAttachListener(cbElem, "click", function() { rcbElem.checked = cbElem.checked; }, false); }, false);

调用示例:

登录后复制
<label>Click Me! <input id="cb" type="checkbox" /> </label> <label>Reflection: <input id="rcb" type="checkbox" /> </label>

版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。

上一篇: [SQL Server]SQL Server中如何将某些列的值按列分组并接连成单个字符串?

下一篇: [SQL Server]SQL Server如何重命名一个数据表的表名?

本文永久链接码友网 » [javascript]使用jQuery如何选中一个复选框(checkbox)?

分享扩散:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册