通过ajax

时间:2017-12-06 05:28:02

标签: php ajax laravel html-table controller

我的桌子是为控制器设计的,我想把这张桌子贴在laravel刀片的桌子上。

这是我在控制器中的表格:

        $subLaws='';
          $n=1;
          foreach($sublaw as $sLaw)
          {
             $govt_no='';
             $eventType='';
             $status='Inactive';
             $url=url('admin/sublawmaster/'.$sLaw->id);
             $lmsid=$sLaw->lms_id;
             $view_url=url('admin/sublawmaster/view/' .$sLaw->id);
             if($sLaw->status=='1'){$status='Active';}
             $subLaws .= '<tr class="odd">
                          <td></td>
                          <td><a href="'.$view_url.'">'.$lmsid.'</a></td>
                          <td>'.$sLaw->sub_law_name.'</td>
                          <td>'.$eventType.'</td>
                          <td><span class="label label-success 
 btn_status">'.$status.'</span></td>
           $n++;
    }
           return json_encode($subLaws);

这是我的ajax代码:

$.ajax({
                type: 'GET',
                dataType: "json",
                data: {law_id:id},
                url: "{{ URL::to('admin/postlawid/') }}",
                success: function (data) {

                }
            });

这是我在刀片文件中的表格:

<table class="table table-striped table-bordered table-hover" id="sublawmasterdata">
<thead>
            <tr id="header">
            <th align="center" width="80" style="text-align:center;">S NO</th>
                 <th>LMS ID</th>
                 <th>LMS Name</th>
                 <th>LMS Type</th>
                 <th>Status</th>
                 <th>Action</th>
             </tr>
             </thead>
             <tbody>

             </tbody>
            </table>

当从此下拉列表中选择值时,我有一个下拉列表控制器中的表应附加到刀片文件中的表中。 我应该如何将控制器中的表附加到刀片文件中的表中?

4 个答案:

答案 0 :(得分:1)

在您的控制器中需要进行如下所示的更改

return json_encode(['table_html' => $subLaws]);

使用以下ajax代码动态追加行

$.ajax({
      type: 'GET',
      dataType: "json",
      data: {law_id:id},
      url: "{{ your route to controller function }}",
      success: function (data) {
          ("#sublawmasterdata tbody").innerHtml(data.table_html); }
      }
});

答案 1 :(得分:0)

您可以替换表内容,如下所示。

$.ajax({
     type: 'GET',
     dataType: "json",
     data: {law_id:id},
     url: "{{ URL::to('admin/postlawid/') }}",
     success: function (data) {
         $("#sublawmasterdata tbody").innerHtml(data.table_html);
     }
});

答案 2 :(得分:0)

如果您返回的数据是纯HTML,则没有理由对其进行json编码。只需返回数据

控制器:

return $subLaws;

AJAX:

$.ajax({
    type: 'GET',
    dataType: "html",
    data: {law_id:id},
    url: "{{ URL::to('admin/postlawid/') }}",
    success: function (data) {
        $('table#sublawmasterdata tbody').append(data);
    }
});

您可以更进一步,将html代码放在刀片视图中并返回。但老实说,我更喜欢只返回一个带有必要数据的json对象,并从javascript构建html

答案 3 :(得分:0)

试试这个:

$.ajax({
      type: 'GET', 
      dataType: "json", 
      data: {law_id:id},
      url: "{{ URL::to('admin/postlawid/') }}", 
      success: function (data) { 
            $("#sublawmasterdata tbody").innerHtml(data.table_html);
      } 
});