Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法使用jquery交换复选框上按钮的属性_Javascript_Jquery_Laravel_Laravel 5_Materialize - Fatal编程技术网

Javascript 无法使用jquery交换复选框上按钮的属性

Javascript 无法使用jquery交换复选框上按钮的属性,javascript,jquery,laravel,laravel-5,materialize,Javascript,Jquery,Laravel,Laravel 5,Materialize,我使用jquery启用/禁用复选框的选择/取消选择按钮。有两组按钮,一个是“删除”,只删除一条记录,另一个是“删除多条”,删除所有选中的记录 问题是,当我选中一个或多个复选框时,“删除”按钮将禁用(仅样式),但仍能正常工作。当我取消选中复选框时,“删除多个”按钮取消销售(同样仅限于样式),而“删除”按钮不会启用返回。我正在使用Materialize 代码如下: HTML代码: @foreach($engines as $engine) <td> <a cla

我使用jquery启用/禁用复选框的选择/取消选择按钮。有两组按钮,一个是“删除”,只删除一条记录,另一个是“删除多条”,删除所有选中的记录

问题是,当我选中一个或多个复选框时,“删除”按钮将禁用(仅样式),但仍能正常工作。当我取消选中复选框时,“删除多个”按钮取消销售(同样仅限于样式),而“删除”按钮不会启用返回。我正在使用Materialize

代码如下:

HTML代码:

@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来操作类,而不是attrremoveAttr。。。 试试这个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');
    }
});