我有一个场景。我有一组具有不同ID的记录,当点击时打开一个模态窗口。此模态窗口具有填写和提交的表单。我的问题是我需要添加最初单击的项目的ID以打开模式作为隐藏字段的表单结果。我做完了
以下链接会触发模式弹出
<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"
中
我真的很想念,因为我已经使用这个策略来处理引导模式场景,但这适用于其他一些javascript插件。
对此失败,我正在寻找另一种情况,当通过ajax激活模态时,我可以将pId发送到我的控制器异步。如果我能够执行此操作,那么我会将{pId}保存在session
或ViewData
中并将其用作黑客。
我尝试了下面的脚本,没有任何反应
<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>
请帮忙
答案 0 :(得分:0)
尝试维持一个带有display的div:在你的模态中没有一个类说&#34; mymodal&#34;。 现在尝试通过在getPlan的父div中搜索它来获取要传递给模态的id。我认为var myArticleId = $(this).data(&#39; id&#39;);没有给出正确的身份证明。你可以使用像$(this).parents(&#34; theclasshere&#34;)。text()这样的东西。然后我们可以通过$(&#34; .mymodal&#34;)。text(myArtivleId)在模态中简单地使用这个id。
将id放入视图本身的模态中总是更好。尽量不要从控制器获取id。这不是一种有效的方式。我非常怀疑你是否在myArtcileId
中获得了正确的ID