首页 > 解决方案 > 如何使用ajax修复从控制器传递的表中的行值?

问题描述

我必须从控制器传递表值才能使用 ajax 查看。我成功传递了表值,但所有数据都在同一列中。我想在行中显示数据。

我已经尝试过可能的情况。因为,这是我第一次遇到这个问题,所以我请求指导我。

//这是我的表格代码:

 <table class="report">
    <tr>
   <th class="report-th"> Module ID </th>
   <th class="report-th"> Module Name </th>
   <th class="report-th"> Module Status </th>
</tr>
<tr id='values'>
</tr>

//这是我的ajax:

 $(function () {
        $(".report").click(function () {
            var title = $(this).data('title');

            var id=$(this).data('id');
            $("#project-title").val(title);

             $('#project-id').val(id);


                $.ajax({


                    url: "{{url('tms/projects/',[null])}}/"+id,
                       method: 'GET',

                       success:function(response){
                     // console.log(response);
                       $('#values').html(response);
                 }
          });
        });

    });

//这是我的控制器:

    public function showajax($id){
       $modules= modules::where('project_id',$id)->get();

    foreach($modules as $row)
    {
        $html[]=
              '<td>' . $row->id . '</td>' .
                 '<td>' . $row->title . '</td>' .
                 '<td>' . $row->status. '</td>'.
                 '<br/>';
    }  

     return Response::json($html);

}

标签: laravel

解决方案


根据您的回复,在行中添加一个类并不能解决您的问题。你必须使用insertAfter()

var $tableRow = $('.report tr');

$.ajax({
    url: "{{url('tms/projects/',[null])}}/"+id,
    method: 'GET',
    success:function(response){
        $(response).insertAfter( $tableRow );
    }
});

推荐阅读