Laravel:如何将id传递给模式框进行编辑

Laravel:如何将id传递给模式框进行编辑,laravel,laravel-5.2,Laravel,Laravel 5.2,在Laravel5应用程序中,我使用模型添加项目。在我的视图文件中,我的操作如下 <a href="#" data-toggle="modal" data-target="#add-item-modal" type="button" class="btn btn-sm btn-primary btn-create">Create new item</a> <div class="modal fade" id="add-item-modal" tabindex="-

在Laravel5应用程序中,我使用模型添加项目。在我的视图文件中,我的操作如下

<a href="#" data-toggle="modal" data-target="#add-item-modal" type="button" class="btn btn-sm btn-primary btn-create">Create new item</a>

<div class="modal fade" id="add-item-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;">
    <div class="modal-dialog">
      <div class="loginmodal-container">
        .... <form comes here>
      </div>
    </div>
</div>

.... 
如前所述,这适用于添加项目

我现在还想使用类似的逻辑来编辑项目。因此,我在我的页面上添加了以下内容

<a href="#" data-toggle="modal" data-target="#edit-auction-modal" type="button" class="btn btn-sm btn-primary btn-warning"><em class="fa fa-pencil"></em></a>

<div class="modal fade" id="add-item-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;">
    <div class="modal-dialog">
      <div class="loginmodal-container">
        .... <form comes here>
      </div>
    </div>
</div>

.... 
然而,问题是我需要将当前项(我希望编辑)的id传递到模式框,以便模式可以显示我希望更新的项的值


如何做到这一点?

我过去也曾多次遇到过这个问题。我所做的(并且一直有效)是将您希望更新的项目id作为数据属性传递给打开模式的链接,如下所示:

<a href="#" data-toggle="modal" data-target="#edit-auction-modal" type="button" class="btn btn-sm btn-primary btn-warning" data-item-id="10">Open modal</a>

几乎所有的工作都是基于您提供的数据属性使用js修改DOM。

谢谢。我喜欢你关于传递data-item-id的建议。我想更新动作URL,这样理想情况下我可以使用JS从该data-item-id提取值。你是否碰巧有一些示例JS代码,我可以尝试一下。恐怕我不太擅长JS。对于像我这样的JS新手来说,这相当复杂:-)我最初只是将#产品更新表单#更改为#编辑事件模式(我模式的名称)。但这不起作用。。。。所以(在第2行):我应该给我的模态一个id=“更新模态”吗?$(this).data('itemId')是否对应于我的“数据项id”。@wiwa1978#更新模式应该是您的模式id。在您的情况下:#添加项目模式,$(this).data('itemId')是您的数据项id属性。告诉我你有没有用,还没用。我在$('.list item update')后面放了一个console.log语句。在('click',function(evn){上,但它不打印它。当我把它放在它前面时,它会打印语句。所以它似乎不在该函数中。这是什么。list item update到底是什么?正如右边的注释所说-//这是“a”标记。这是触发模式的链接。应使用选择器替换。列表项更新
$(document).ready(function () {
  var $updateModal = $('#update-modal');
    $('.list-item-update').on('click', function (evn) { // this is the "a" tag
    evn.preventDefault();

    $updateModal.modal('show');
    var resourceId = $(this).data('itemId'),
        $pressedButton = $(this);

    $updateModal.find('.confirm-btn').on('click', function (e) {
        e.preventDefault();
        var submitUrl = '/update/product/' + resourceId,
            form = $('#product-update-form'); // change with your form

        form.attr('action', submitUrl);
        form.submit();
    });
  });
});