我有一种情况,我在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工作来检查/取消选中?
答案 0 :(得分:1)
选中复选框。
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">
答案 1 :(得分:0)
$('#IDOFCHECKBOX').prop('checked',true);
按名称选择,您可以使用
$('input[type=checkbox][name="checkbox1"]').prop('checked', true)
答案 2 :(得分:0)
肯定是在 jQuery 1.6 +
使用新的.prop()函数:
$(&#39; .myCheckbox&#39;)。prop(&#39; checked&#39;,true); $(&#39; .myCheckbox&#39;)。prop(&#39;已检查&#39;,false);
jQuery 1.5 及以下
.prop()函数不可用,因此您需要使用.attr()。
要选中复选框(通过设置checked属性的值),请执行
$(&#39; .myCheckbox&#39;)ATTR(&#39;检查&#39;&#39;检查&#39);
并取消检查(完全删除属性)
$(&#39; .myCheckbox&#39)。removeAttr(&#39;检查&#39);
任何版本的jQuery
如果你只使用一个元素,那么使用DOMElement.checked = true总是最快的。使用.prop()和.attr()函数的好处是它们可以对所有匹配的元素进行操作。
//假设一个复选框上有一个事件处理程序 if(this.checked)
答案 3 :(得分:-1)
您应该使用正确的jQuery选择器,例如:
$('#checkboxId').prop('checked',true);
这是现有选择器的列表:
http://api.jquery.com/category/selectors/
大多数CSS选择器都可以使用,例如:
.class
选择课程#id
由Ids选择>
选择直接儿童[attr=value]
按属性值选择答案 4 :(得分:-2)
其中任何一个都可以勾选你的复选框
$('#chk1').prop('checked','checked')
$('#chk1').prop('checked',true)