我正在使用Bootstrap。我有一个表格,在标题和每个列中都有一个复选框。我试图在jQuery上做“检查所有”功能,但似乎bootstrap不使用checked属性。正如我所看到的,它在我的复选框周围添加了span标记,并为其添加了一个“已检查”的类。是否有可能使用check attr,或者我必须忘记它并编写类检查和切换?
下面是结果HTML中的部分代码:
<td>
<div class="checker">
<span class="">
<input type="checkbox" class="payout_check" style="opacity: 0;">
</span>
</div>
</td>
这是未经检查的。检查它,第三行更改为:
<span class="checked">
答案 0 :(得分:10)
您可以使用 prop 。我遇到了同样的问题。在选中复选框时,选中的属性为undefined。当我将其更改为prop时,它会根据复选框的状态给出真值和假值。
$('#checkboxId').prop('checked');
答案 1 :(得分:5)
这项工作取消选中
jQuery('span', $('#uniform-You_id_checkbox')).removeClass("checked");
$('#You_id_checkbox').removeAttr("checked");
答案 2 :(得分:4)
如果我理解你的问题,我认为对旧问题的答案应该会有所帮助。
$('#toggle-all').click(function() {
$('.btn-group input[type="checkbox"]').prop('checked', true);
});
答案 3 :(得分:3)
这对我有用:
$('#form-new-event input[type=checkbox]').parents('span').removeClass("checked");
$('#form-new-event input[type=checkbox]').removeAttr("checked");
答案 4 :(得分:1)
$(document).ready( function(){ $("[type=checkbox]").on("click", function(){ if ($(this).attr("checked")==undefined) { $(this).attr("checked","checked"); } else { $(this).attr("checked",false); } }); });
答案 5 :(得分:1)
使用jQuery
$("input[name='theCheckboxName']").is(":checked"); // Returns true or false
OR
$("input[name='theCheckboxName']").prop("checked"); // Returns true or false
这将检查DOM元素的“checked”属性,而不是标记上“checked”属性的存在。使用此方法可以避免设置和取消设置“已检查”属性。
标记
<div class="checkbox">
<label>
<input name="theCheckboxName" type="checkbox" checked="checked"> <span>Yes</span>
</label>
</div>
这会使复选框默认选中。 “checked”属性仍应用于以编程方式确定状态。
点击此链接了解更多信息:
http://www.tutorialrepublic.com/faq/how-to-check-a-checkbox-is-checked-or-not-using-jquery.php
答案 6 :(得分:0)
$('#your-checkbox-id').parents('span').removeClass("checked").end().removeAttr("checked").change();
或
$('#your-checkbox-id').prop('checked') && $('#your-checkbox-id').click();
PS:最后一个将模拟点击(仅当选中复选框时)。如果您不想触发事件,请使用第一个事件并删除“change()”调用。