将 Model.ID 传递给 modal 并运行方法

Posted

技术标签:

【中文标题】将 Model.ID 传递给 modal 并运行方法【英文标题】:Passing Model.ID to modal and running a method 【发布时间】:2021-07-07 00:41:15 【问题描述】:

我有一个表,我想将一行 (dataID) 传递给我的控制器中的一个方法。

$(document).ready(function () 
    $('.modalRed').click(function () 
            var url = $('#ledgerModal').data('url');
            $.get(url, function (data) 
                $("#ledgerModal").html(data);
                $("#ledgerModal").modal('show');
            );
    );

);
<table class="tableCustomTableOne" >
    <tr>
        <th nowrap="nowrap">
            @Html.LabelFor(model => model.Name, htmlAttributes: new @class = "control-label col-md-2" )
        </th>
        <th nowrap="nowrap">
            @Html.LabelFor(model => model.Data, htmlAttributes: new  @class = "control-label col-md-2" )s
        </th>
    </tr>
    @foreach (var item in (ViewBag.MainLedger as List<ModalApp.Models.Ledger>))
        
            <tr class="modalRed">
                <td nowrap="nowrap">
                    @Html.DisplayFor(modelItem => item.Name)
                </td>
                <td nowrap="nowrap">
                    @Html.DisplayFor(modelItem => item.Data),
                </td>
            </tr>
            <tr class="modal fade" id="ledgerModal" role="dialog" data-url='@Url.Action("detLedgerPartial","Ledger", new  id = item.Id )'></tr>
        
</table>

但它只打开第一个“id”的行的信息 我怎样才能使它从特定行发送 ID?

【问题讨论】:

添加data-id属性并通过事件目标获取相关id。看看 - ***.com/questions/58763573/… 【参考方案1】:

Id 选择器总是选择具有指定 id 的第一个元素,因为您有许多 &lt;tr&gt; 具有相同的 id ledgerModal,所以只会选择第一个。像这样更改您的 jquery:

$('.modalRed').click(function () 
    var $tr = $(this).next('tr');
    var url = $tr.data('url');
    console.log(url);
    $.get(url, function (data) 
        $tr.html(data);
        $tr.modal('show');
    );
);

【讨论】:

$(this) 不能在 $.get.. 中工作。 @Swati 我修改了我的答案。

以上是关于将 Model.ID 传递给 modal 并运行方法的主要内容,如果未能解决你的问题,请参考以下文章

Angular JS 将 $scope 传递给 Modal

如何使用 ajax 将 id 传递给部分视图控制器方法?

将值从 php 传递到 modal

Angular - 将输入传递给 ng-content 组件

使用 jQuery 将表单数据作为数组传递给 Laravel

如何正确地将指针传递给第 3 方代码的成员函数? [复制]