2016-07-05 65 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

相關問題