单击以打开模态并发送代码

Click to open modal and send code

我这里有一个场景。我有一组具有不同 ID 的记录,单击它们会打开模式 window。此模式 window 有一个已填写并提交的表单。我的问题是我需要将最初单击以打开模式的项目的 ID 添加到表单结果作为隐藏字段。我已经完成

下面的link触发模态弹出

<a class="modal-with-form btn btn-default getPlan" data-id="@item.PlanId" id="@item.PlanId" data-target="#modalForm" href="#modalForm">Sign Up Now</a>

我在下面有这个脚本,理想情况下应该将 id 发送到模式,但由于某些原因它不起作用

jQuery(document).on("click", ".getPlan ", function ($) {
var myPlanId = $(this).data('id');
$.validator.unobtrusive.parse($(".well.container #pid").val(myPlanId));
                });

带有表单的模态对话框包含在 div class "well container" 我真的很困惑,因为我已经使用这种策略来处理 bootstrap 模态场景,但这适用于其他一些 javascript 插件。

失败了,我正在寻找另一种情况,当通过 ajax 激活模态时,我可以将 pId 异步发送到我的控制器。如果我能够做到这一点,那么我会将 pId 保存在 sessionViewData 中并将其用作 hack。

我试过下面的脚本,没有任何反应

 <script type="text/javascript">
            jQuery(document).on("click", ".getPlan ", function ($) {

                var myArticleId = $(this).data('id');
                $.validator.unobtrusive.parse($(".well.container #sid").val(myArticleId));
            });

          $.ajax({
           type: "POST",
           url: "/Article/",
           data: myArticleId,
           datatype: "html",
           success: function (data) {
               $('#result').html(data);
           }
       });

            </script>

请帮忙

尝试在您的模态中保持 div 和 display:none,并使用 class 说 "mymodal"。 现在尝试通过在 getPlan 的 parents div 中搜索它来获取您想要传递给模态的 ID。我认为 var myArticleId = $(this).data('id');没有给出正确的 ID。您可以使用 $(this).parents("theclasshere").text() 之类的东西。然后我们可以通过 $(".mymodal").text(myArtivleId).

在模式中简单地使用这个 id

在视图本身中将 id 设置为模态总是更好。尽量不要从控制器获取 id。这不是一种有效的方法。我严重怀疑您是否在 myArtcileId

中输入了正确的 ID