JavaScript onclick : only works once

标签 javascript jquery laravel onclick

这是我调用的方法,我在其中通过 id 删除事件:

function delete_event(id)
{
    $.ajax({
        url: "/delete/"+id,
        type: "post",
        data: {  '_token': '{{csrf_token()}}' },
        success: function(data) {
            if (data.success == 1)
            {
                $("#alert").addClass("alert alert-success");
                $("#alert").innerText = "it worked";
                $("#alert").remove();
                $("alert").fadeOut(3000);
            }
            else
            {
                $("#alert").addClass("alert alert-danger");
                $("#alert").text("it didn't work");
                $("#alert").delay(3000).fadeOut(1000);
            }
        },
        error: function(data)
        {
            console.log("neieieiin");
            console.log(data);
        },
        complete: function(){}
    })
}

这是 HTML 代码:

<div id="alert">
</div>

<table class="table table-striped">
    <tr>
        <th>Event Name</th>
        <th>Starting Date</th>
        <th>Location</th>
        <th>Actions</th>
    </tr>

    @foreach($events as $event)
        <tr id="{{$event->event_id}}">
            <td>{{$event->event_name }}</td>
            <td>{{$event->start_date}}</td>
            <td>{{$event->street_address}}</td>
            <td>
                <a>
                    <button onclick="delete_event({{$event->event_id}})" type="button" class="btn btn-default">
                    <i class="fa fa-times" aria-hidden="true"></i>
                    </button>
                </a>
            </td>
        </tr>
    @endforeach

</table>
@endsection

当我单击删除按钮时,它仅显示一次它有效/无效。如果我第二次点击它没有任何反应,有什么建议吗?

最佳答案

您可以使用 jquery on click 方法来解决此问题:

更改:

<button data-id="{{$event->event_id}}" type="button" class="btn btn-default delete_button">


jQuery(document).on("click",".delete_button",function(){

    var id = $(this).data("id");

    $.ajax({

        url: "/delete/"+id,
        type: "post",
        data: {  '_token'           : '{{csrf_token()}}' },
        success: function(data) {
            if(data.success == 1)
            {
                //do as you want
            }

        },

    });

});

关于JavaScript onclick : only works once,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42872533/

相关文章:

laravel - 谷歌 AMP 与 Laravel

php - 拉维尔 5 : Use 301 instead of 302

javascript - 你能绘制出 React 的路线列表吗?

javascript - 通过 AJAX 使用 jquery 工具包 (jkit) 验证发布表单

javascript - $http post 请求不起作用并发送 "Possible unhandled rejection"错误

jquery - 如何在href调用div面板的情况下触发事件

laravel - 如何处理 laravel 5 中的私有(private)图像?

javascript - 添加自定义验证时出现"Sys is not defined"错误(MVC万无一失的验证)

javascript - 在 React.js 中更改组件的父级

javascript - polymer 过滤器不起作用