【问题标题】:Laravel ajax request get the id from the table pass it to button editLaravel ajax 请求从表中获取 id 将其传递给按钮编辑
【发布时间】:2020-03-02 00:56:39
【问题描述】:

你好,我正在尝试制作 ajax crud,而不是仅使用包 Jquery 作为库,我可以将数据加载到表中没有问题,我唯一的问题是当我想编辑我试图传递的数据时ID 到编辑按钮,但问题是只有一个按钮可以工作,我只能得到一个 id,当我点击其余按钮时,它不起作用。

Ajax 代码

 $(document).ready(function(){
       $('#my').on('click',function(){
        $.ajax({
            url: "{{ URL::route('sample') }}",
            type:'get',
            dataType:'json',
            contentType:'application/json',
            success:function (data){
                console.log(data);
                $('#data').html("");
                $.each(data, function (key, val){
                    $('#data').append("<tr>"+
                        "<td>"+val.id+"</td>"+
                        "<td>"+val.name+"</td>"+
                        "<td>"+val.code+"</td>"+
                        "<td>"+val.user.name+"</td>"+
                        "<td>"+
                            "<button class='btn btn-warning' id='edit' data-id="+val.id+" value="+val.id+">Edit</button>"+
                            "<button class='btn btn-danger' id='delete' data-id="+"ssasaa"+">Delete</button>"
                        +"</td>"+
                    +"</tr>")

                    $('#edit').click(function(event){
                        id=$(this).val();
                        console.log(id);
                    })
                    $('#delete').click(function(){
                        console.log('button delete click');
                    })

                })

            },

            error:function(err){
                    console.log('Error loading data')
                 }

        });/*==End of Ajax==*/


    });
            });

控制台结果

【问题讨论】:

    标签: jquery ajax laravel-6


    【解决方案1】:

    发生这种情况是因为 jquery 点击处理程序的目标是一个 ID:

     $('#my').on('click'...
    

    在 HTML 中,id 必须是唯一的。只有一个元素的 id 为“my”

    将所有 html 按钮上的 id="my" 更改为 class='my' 之类的类,然后将 jquery 更改为:

     $('.my').on('click'...
    

    深入研究

    您很可能还需要将 $('#edit')$('#delete') 转换为类,但如果不查看 html 就很难确定

    还有

    我看到你说你这样做没有包,只有 jquery,也就是说,我建议查看Backpack for laravel,这将使这个一旦设置就超级容易构建:)

    【讨论】:

      猜你喜欢
      • 2020-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-02
      • 1970-01-01
      • 2017-05-21
      • 2014-10-18
      • 2021-08-30
      相关资源
      最近更新 更多