Laravel:如何将id传递给模式框进行编辑
在Laravel5应用程序中,我使用模型添加项目。在我的视图文件中,我的操作如下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="-
<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();
});
});
});