Laravel 5.3 将数据传递给 Modal 以编辑评论

Posted

技术标签:

【中文标题】Laravel 5.3 将数据传递给 Modal 以编辑评论【英文标题】:Laravel 5.3 pass data to Modal to edit the Comment 【发布时间】:2017-07-04 09:30:56 【问题描述】:

这是我的按钮: 我的 $post->comment 包含 id、comment、email 和 name; 我想将评论传递给模态框内的表单。 我也想用路由第二个参数的id来更新评论

@foreach($post->comments as $comment)
    <button class="btn btn-success btn-xs " data-toggle="modal" data-target="#myModal" data-id=" $comment->id " data-comment="  $comment->comment "><i class="fa fa-pencil"></i></button>
    @endforeach

这是我的模态:

  <!-- Modal -->
  <div class="modal fade modal-md" id="myModal" role="dialog">
    <div class="modal-dialog">
      <!-- Modal content-->
      <div class="modal-content">
        <div class="modal-header">
          <button type="button" class="close" data-dismiss="modal">&times;
          </button>
          <h4 class="modal-title">Comment Update!</h4>
        </div>
        <div class="modal-body">
        <div id="comment-form" class="">
         Form::open(['route' => ['comments.store', $post->id], 'method' => 'POST']) 
        <div class="row">
        <div class="col-md-12">
        <b> Form::label('comment', "Comment:") </b>
         Form::textarea('comment', null, ['class' => 'form-control', 'rows' => '5', 'id'=>'comment ']) 
        </div>
        </div>
         Form::close() 
        </div>
        </div>
        <div class="modal-footer">
        <a href="route('comments.store',$post->id) "
        onclick="event.preventDefault();
        document.getElementById('comment-update').submit();"  class="btn btn-primary">
            Update </a>
        <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
        </div>
        </div> 
        </div>
        </div>

我试过这个脚本,但它不起作用:

<script type="text/javascript" charset="utf-8">
$('#myModal').on('show', function(e) 
var link = e.relatedTarget();

var id = link.data("id");
var comment = link.data("comment");

var modal = $(this);
modal.find("#id").val(id);
modal.find("#comment").val(comment);

);

【问题讨论】:

【参考方案1】:

你必须在javascript中使用点击事件

示例:

<button class="btn btn-success btn-xs add" data-toggle="modal" data-target="#myModal" data-id=" $comment->id " data-comment="  $comment->comment "><i class="fa fa-pencil"></i></button>

这个脚本。

$(document).on('click', '.add', function() 
      $('#id_kategori').val($(this).data('id'));
      $('#comment').val($(this).data('comment'));
      $('.form-horizontal').show();
      $('#myModal').modal('show');
  );

希望我的回答能帮到你

【讨论】:

以上是关于Laravel 5.3 将数据传递给 Modal 以编辑评论的主要内容,如果未能解决你的问题,请参考以下文章

在 laravel 中使用视图作曲家将数据传递给惯性js

php 将数据传递给Laravel中的视图的不同方法

通过 AJAX 将数据传递给 Laravel 控制器

将数据传递给 Laravel 中 vue.js 中的另一个组件

将数据传递给 laravel 中的引导模式

在使用 Laravel 和 Vue 时,通过 Blade Views 将数据传递给 Vue 与使用 Axios 直接传递给 Vue Components 的优缺点是啥? [关闭]