我想做这样的事情来checkbox
使用jQuery打勾:
$(".myCheckBox").checked(true);
要么
$(".myCheckBox").selected(true);
这样的事情存在吗?
我想做这样的事情来checkbox
使用jQuery打勾:
$(".myCheckBox").checked(true);
要么
$(".myCheckBox").selected(true);
这样的事情存在吗?
请注意,在Internet Explorer 9之前的Internet Explorer中内存泄漏,因为jQuery文档指出:
在版本9之前的Internet Explorer中,使用.prop()将DOM元素属性设置为简单基本值(数字,字符串或布尔值)以外的任何内容,如果不删除该属性(使用.removeProp( ))从文档中删除DOM元素。若要在DOM对象上安全地设置值而不会导致内存泄漏,请使用.data()。
正如@ livefree75所说:
jQuery 1.5.x及以下
您还可以使用新方法扩展$ .fn对象:
(function($) {
$.fn.extend({
check : function() {
return this.filter(":radio, :checkbox").attr("checked", true);
},
uncheck : function() {
return this.filter(":radio, :checkbox").removeAttr("checked");
}
});
}(jQuery));
但是在新版本的jQuery中,我们必须使用如下代码:
jQuery 1.6以上
(function($) {
$.fn.extend({
check : function() {
return this.filter(":radio, :checkbox").prop("checked", true);
},
uncheck : function() {
return this.filter(":radio, :checkbox").prop("checked",false);
}
});
}(jQuery));
然后,您可以执行以下操作:
$(":checkbox").check();
$(":checkbox").uncheck();
这是没有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>
您还可以使用新方法扩展$ .fn对象:
(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();
或者,如果您使用其他使用这些名称的库,则可能要给它们提供诸如mycheck()和myuncheck()之类的唯一名称。
这可能是最短,最简单的解决方案:
要么
更短的是:
这也是一个jsFiddle。