将变量传递给引导模式

Passing Variables to a Bootstrap Modal?

本文关键字:模式 变量      更新时间:2023-09-26

我已经搜索了其他"变量到模态"线程,但我找不到我需要的答案。我有一个 ASP.NET 应用程序(非 MVC),我有一个生成一系列按钮的网格。我试图将我的模态操作保留在客户端。我生成的按钮代码如下所示:

    <input type="button" value="Add Note" 
    onclick="return false;javascript:__doPostBack(&#39;ctl00$ContentPlaceHolder1$grd888Poker&#39;,&#39;Button$4001&#39;)" 
class="btn btn-primary btn-xs" 
data-toggle="modal" 
data-target="#myModal" 
entryID="4001" />

模态弹出得很好。但是我需要将属性条目 ID 传递给模态中的隐藏字段。Obv 我需要某种 JS,但由于我让 Bootstrap 处理模态代码,所以我没有什么可以覆盖的。在这种情况下,如何将变量传递给模态?

您始终可以将事件附加到模态的显示时间,并追加隐藏输入字段或设置已存在的隐藏输入字段的值。每次显示模态时都应调用 show.bs.modal 事件,即使 Bootstrap 处理模态显示或你从 JavaScript 显示它也是如此。

$('#myModal').on('show.bs.modal', function() {
    $("#entryField").val($('#myModal').attr("entryID"));
})

$('#myModal').on('show.bs.modal', function() {
    var hiddenField = $(document.createElement("input")).prop("type", "hidden").appendTo("#myModal"); 
})

按钮事件:

$("input[type='button']").click(function() {
    $("#myModal").find("input[type='hidden']").val($(this).attr("entryID"); 
});

请注意,这要求隐藏字段已存在于模态窗口中。