在我的剃刀视图中,我有桌子和锚。其中一个单元格如下所示:
@foreach (MillitarySlot slot in item.SundaySlots)
{
<a style="color:@slot.Color" title="@slot.ToolTip" href="@slot.HRef">@slot.SlotText</a><br />
}
如果用户点击任何一个锚点,那么我需要显示模态对话框。我怎样才能做到这一点?
答案 0 :(得分:1)
所以,如果你做了这样的事情:
$('a').click(function(e) {
alert('anchor clicked');
});
您可以获得点击页面上每个锚点的警报 - 不太可能是您想要的。如果您为这些锚分配了一个类,那么您可以这样做:
$('a.myclass').click(function(e) {
alert('anchor clicked');
});
然后你就会得到那个类的锚点的警报。对于模态对话框部分,您可以替换我收到警报的位置,实际上在页面上创建一个隐藏的div用作模式对话框。我做了类似这样的事情,看起来像是:
$('a.myclass).click(function () {
// add the div or reuse it
var modaldialog = ($('#ModalDialog').length > 0)
? $('#ModalDialog')
: $('<div id="ModalDialog" style="display:hidden"></div>').appendTo('body');
load up data via ajax call
$.get('@Url.Action("MyAction", "MyController")', {},
function (responseText, textStatus, XMLHttpRequest) {
modaldialog.html(responseText);
modaldialog.dialog({
modal: true,
width: 500,
title: 'My Modal Dialog',
});
}
);
});
无论如何,这是一个开始。您也可以在对话框中添加按钮,并根据您的特定需求进行操作。
答案 1 :(得分:0)
您可以为该锚点提供一个id(用于jQuery性能)并绑定一个click事件,该事件通过Ajax获取模式对话框,然后返回false(如果用户禁用了JavaScript,则应继续执行该对话框)