[英]Check/Uncheck checkbox jQuery
我有一种情况,我在JavaScript中得到以下信息:
$('<input type="checkbox" name="checkbox1" value="12345">').prop('checked',true);
上面根本没有选中该复选框。 还尝试了:
$('<input type="checkbox" name="checkbox1" value="12345">').attr('checked','checked');
当我这样做时,我得到的价值是:
$('<input type="checkbox" name="checkbox1" value="12345">').val();
数组中包含以下内容:
<input type="checkbox" name="checkbox1" value="12345">
所以我通常在上面这样称呼:
$(data[0]).val();
为什么不使用prop或attr进行检查/取消检查呢?
复选框已选中。
var elem = $('<input type="checkbox" name="checkbox1" value="12345">').prop('checked',true);
console.log(elem.prop("checked")); //true
console.log(elem[0]); //<input type="checkbox" name="checkbox1" value="12345">
在检查时,DOM不会神奇地将属性添加为属性。 如果要更新HTML,则必须添加一个属性
var elem = $('<input type="checkbox" name="checkbox1" value="54321">').attr("checked","checked");
console.log(elem.prop("checked")); //true
console.log(elem[0]); //<input type="checkbox" name="checkbox1" value="12345" checked="checked">
$('#IDOFCHECKBOX').prop('checked',true);
通过名称选择可以使用
$('input[type=checkbox][name="checkbox1"]').prop('checked', true)
肯定在jQuery 1.6+中
使用新的.prop()函数:
$('。myCheckbox')。prop('checked',true); $('。myCheckbox')。prop('checked',false);
jQuery 1.5及以下
.prop()函数不可用,因此您需要使用.attr()。
要选中复选框(通过设置被选中属性的值),请执行
$('。myCheckbox')。attr('checked','checked');
并取消选中(通过完全删除属性)来执行
$('。myCheckbox')。removeAttr('checked');
任何版本的jQuery
如果仅使用一个元素,则使用DOMElement.checked = true总是最快的。 使用.prop()和.attr()函数的好处是它们将对所有匹配的元素进行操作。
//假设(this.checked)复选框上有一个事件处理程序
您应该使用适当的jQuery选择器,例如:
$('#checkboxId').prop('checked',true);
以下是现有选择器的列表:
http://api.jquery.com/category/selectors/
大多数CSS选择器都可以使用,例如:
.class
选择类别 #id
>
选择直系儿童 [attr=value]
按属性值选择 其中任何一项都可以为您选中该复选框
$('#chk1').prop('checked','checked')
$('#chk1').prop('checked',true)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.