2016-07-05 73 views
2

在Laravel 5应用程序中,我使用模型来添加项目。在我的视图文件中,我按如下方式执行:Laravel:如何将id传递给模式框进行编辑

<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传递给模式对话框,这样的模式可以显示的值我希望更新的项目。

这怎么办?

回答

0

我在过去也曾多次遇到这个问题。我做(和它总是工作)是传递要更新的数据属性的链接打开的模式,像这样的项目编号:

<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函数获取项目ID从data-item-id属性中显示模式时,根据您的情况更新表格数据。我可以想象两种方式: 1.更新动作url。示例:'update/product/10' 2.使用商品标识更新隐藏字段。

样品JS:

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

几乎一切下降到修改与基于数据的JS DOM属性你提供。

+0

谢谢。我喜欢你传递数据项ID的建议。我想更新动作URL,所以理想情况下我可以使用JS从该数据项目id中提取值。你碰巧有一些我可以尝试的样本JS代码。恐怕我对JS不是很擅长。 – wiwa1978

+0

@ wiwa1978请检查我的更新回答,请 –

+0

这对于像我这样的JS新手来说相当复杂:-)我最初只将#product-update-form更改为#edit-event-modal(我的模态名)。但是这不起作用....所以(在第2行):我应该给我的模态然后ID =“更新模态”的ID? $(this).data('itemId')是否与我的“data-item-id”相对应。 – wiwa1978

相关问题