javascript - 想要使用 ajax 将事件状态从 1 更新为 0

标签 javascript ajax laravel-5

我将根据数据库中“事件”列值的状态启用或禁用按钮。我想使用 javascript 或 ajax 更改按钮状态。数据库中的 'active' 值也应该更新。

blade.php

                                 <td class="text-center">
                                     <a href="#" data-toggle="modal" data-target="#myModal" class="edit"><i class="fa fa-comment"></i></a>
                                     @if( $joins->active == "1")
                                         <a href="{{route('asset.status',$joins->id)}}" id="return" data-toggle="modal" @if($joins->active === "1") class="edit  action-button" @else class="disabled2" @endif><i class="fa fa-get-pocket"></i></a>
                                     {{--@else--}}
                                     {{--<a href="#" id="return" data-toggle="modal" class="disabled2"><i class="fa fa-get-pocket"></i></a>--}}

                                     @endif
                                 </td>

脚本

<script>
    $(".action-button").click(function(){
        swal({
            type : 'warning',
            title: 'Submit what you want',
            input: 'text',
            showCancelButton: false,
            confirmButtonText: 'Submit',
            showLoaderOnConfirm: true,
            allowOutsideClick: false

        }).$.ajax({
        type: "POST",
        url : 'profile-management/employee-assets/update/{id}',
        data: { id: id },
        success: function(data){
            swal('Confirmed!','success')
        }

        });
    })

</script>

web.php

Route::get('profile-management/employee-assets/update/{id}','AssetController@statusUpdate')->name('asset.status');

Controller.php

   public function statusUpdate(Request $request,$id){
        $update = Asset::find($id);
        $update->active = "1";

        $update->save();
        $request->session()->flash('alert-info', 'Product Status Updated!');
        return redirect('/profile-management/employee-assets');
    }

最佳答案

你可以只使用一个按钮,比如 blow:

Blade

<td class="text-center">
    <a href="#" data-toggle="modal" data-target="#myModal" class="edit"><i class="fa fa-comment"></i></a>
    <a href="{{route('asset.status',$joins->id)}}" id="return" data-toggle="modal" @if($joins->active === "1") class="edit  action-button" @else class="disabled2" @endif><i class="fa fa-get-pocket"></i></a>
</td>

PHP controller:

public function statusUpdate(Request $request,$id){
        $update = Asset::find($id);
        $update->active = !$update->active; // if true, it will give false

        $update->save();
        return \Resposne::json({status: true, active: $update->active});
    }

JavaScript:

在成功回调中使用响应:

<script>
    $(".action-button").click(function(){
        swal({
            type : 'warning',
            title: 'Submit what you want',
            input: 'text',
            showCancelButton: false,
            confirmButtonText: 'Submit',
            showLoaderOnConfirm: true,
            allowOutsideClick: false

        }).$.ajax({
        type: "POST",
        url : 'profile-management/employee-assets/update/{id}',
        data: { id: id },
        success: function(data){
            console.log(data,'data'); // {status: true, active: true/false }

         // Here use data to manipulate the button with id return, mean add/remove classes etc. d


            swal('Confirmed!','success')
        }

        });
    })

</script>

关于javascript - 想要使用 ajax 将事件状态从 1 更新为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49526557/

相关文章:

javascript - 如何将文件对象添加到JavaScript对象中?

从 asp.net mvc ajax 调用 wcf

sql - Laravel/ Eloquent : querying a belongsTo/hasMany relation

laravel-5 - Laravel 5.6 模拟 Guzzle 响应

php - AJAX请求(删除评论)

javascript - 自定义行的 jquery 添加事件不起作用

php - 进行 AJAX 调用以更新数据库 onChange of a textarea

javascript - 从函数返回 xmlhttp responseText 作为返回

php - 找不到 Laravel 5 函数 ()

javascript - 使用作为单引号字符串传递的值解析 JSON 对象