【问题标题】:Append table data from controller in blade through ajax通过ajax从刀片中的控制器追加表数据
【发布时间】:2018-05-19 22:15:27
【问题描述】:

我的表是为控制器设计的,我想将此表附加到 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>

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

【问题讨论】:

    标签: php ajax laravel html-table controller


    【解决方案1】:

    您可以像下面这样替换表格内容。

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

    【讨论】:

      【解决方案2】:

      如果您返回的数据是纯 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】:

        试试这个:

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

        【讨论】:

          【解决方案4】:

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

          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); }
                }
          });
          

          【讨论】:

            猜你喜欢
            • 2016-10-23
            • 2021-12-22
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-03-25
            • 2016-05-23
            • 2019-04-13
            • 1970-01-01
            相关资源
            最近更新 更多