在我的页面上,我有几个复选框定义如下:
<input id="{{ $question->id }}" class="questionCheckBox" type="checkbox" />
我有两个按钮:
<p><input type="button" class="check" value="Check All" />
<input type="button" class="uncheck" value="UnCheck All" />
</p>
我正在尝试使用以下代码选中所有复选框或取消选中它们
$(function () {
$('.check').on('click', function () {
$('.questionCheckBox').attr('checked','checked');
});
});
$(function () {
$('.uncheck').on('click', function () {
$('.questionCheckBox').removeAttr('checked');
});
});
我第一次单击"全部选中"按钮时,它工作,第一次选中"全部取消选中"按钮是未选中的;之后两个按钮都不起作用。有人能看到我的问题吗?
您应该使用prop(
)而不是attr()
,因为jQuery 1.9+的最新版本会出现类似的问题。
$(function () {
$('.check').on('click', function () {
$('.questionCheckBox').prop('checked',true);
});
});
$(function () {
$('.uncheck').on('click', function () {
$('.questionCheckBox').prop('checked',false);
});
});
这很有效:
$(function () {
$('.check').on('click', function () {
$('.questionCheckBox').each(function(){ this.checked = true; });
});
});
$(function () {
$('.uncheck').on('click', function () {
$('.questionCheckBox').each(function(){ this.checked = false; });
});
});
谢谢你的帮助!