Javascript 无法使用jquery交换复选框上按钮的属性
我使用jquery启用/禁用复选框的选择/取消选择按钮。有两组按钮,一个是“删除”,只删除一条记录,另一个是“删除多条”,删除所有选中的记录 问题是,当我选中一个或多个复选框时,“删除”按钮将禁用(仅样式),但仍能正常工作。当我取消选中复选框时,“删除多个”按钮取消销售(同样仅限于样式),而“删除”按钮不会启用返回。我正在使用Materialize 代码如下: HTML代码:Javascript 无法使用jquery交换复选框上按钮的属性,javascript,jquery,laravel,laravel-5,materialize,Javascript,Jquery,Laravel,Laravel 5,Materialize,我使用jquery启用/禁用复选框的选择/取消选择按钮。有两组按钮,一个是“删除”,只删除一条记录,另一个是“删除多条”,删除所有选中的记录 问题是,当我选中一个或多个复选框时,“删除”按钮将禁用(仅样式),但仍能正常工作。当我取消选中复选框时,“删除多个”按钮取消销售(同样仅限于样式),而“删除”按钮不会启用返回。我正在使用Materialize 代码如下: HTML代码: @foreach($engines as $engine) <td> <a cla
@foreach($engines as $engine)
<td>
<a class="waves-effect waves-light btn red modal-trigger searchDelete" href="#searchDelete" data-id="{{$engine->id}}" data-name="{{$engine->name}}">Delete</a>
</td>
<td>
<div class="row">
<div class="switch">
<label>
<input type="checkbox" name="ids" class="id-search" value="{{$engine->id}}">
<span class="lever"></span>
</label>
</div>
</div>
</td>
@endforeach
我认为问题在于,您应该使用JqueryaddClass和removeClass API来操作类,而不是attr和removeAttr。。。 试试这个javascript代码
$('.id-search').on('change',function () {
var ids = [];
$('input:checkbox[name=ids]:checked').each(function () {
ids.push($(this).val());
});
var length = ids.length;
if (length > 0) {
$('#deleteMultipleSearch').addClass('btn waves-effect waves-light red modal-trigger');
$('.searchDelete').addClass('btn disabled');
$('.searchDelete').removeClass('modal-trigger searchDelete');
console.log("Id clicked");
}
else {
$('#deleteMultipleSearch').addClass('btn disabled');
$('.searchDelete').removeClass('btn disabled');
$('.searchDelete').addClass('btn red');
}
});
祝你好运问题出在哪里?它只是启用了多个删除按钮,但单次删除仍然有效,但是当我取消选中“全部”时,多次删除有效,单次按钮的属性不会恢复。你能发布呈现的html代码吗
$('.id-search').on('change',function () {
var ids = [];
$('input:checkbox[name=ids]:checked').each(function () {
ids.push($(this).val());
});
var length = ids.length;
if (length > 0) {
$('#deleteMultipleSearch').addClass('btn waves-effect waves-light red modal-trigger');
$('.searchDelete').addClass('btn disabled');
$('.searchDelete').removeClass('modal-trigger searchDelete');
console.log("Id clicked");
}
else {
$('#deleteMultipleSearch').addClass('btn disabled');
$('.searchDelete').removeClass('btn disabled');
$('.searchDelete').addClass('btn red');
}
});