【发布时间】:2013-04-18 19:08:43
【问题描述】:
我正在使用 asp.net MVC。我正在尝试在用户单击按钮时向用户显示自定义消息。
这里是视图:
@foreach (var item in Model.ticketList)
{
var number = item.TicketId.ToString();
<tr>
<td>
@Html.ActionLink(number, "Details", new {id=item.TicketId })
</td>
<td>Title :
@Html.DisplayFor(model => item.Title)
</td>
<td> Date Submitted :
@Html.DisplayFor(model => item.DateCreated)
</td>
<td id="status"> Ticket Status :
@if (item.Status == "open")
{
<span id="open">Open</span>
@Html.ActionLink("Close","Close",new {id=item.TicketId})
}
@if (item.Status == "closed")
{
<span id="closed">Closed</span>
@Html.ActionLink("Open","Open",new {id=item.TicketId})
}
</td>
</tr>
<tr id="ticket-backcolor">
<td colspan="4">Description :
@Html.DisplayFor(model => item.Description)
</td>
</tr>
}
动作链接是修改字段值的动作控制器。这样可行。我想要做的是显示一个确认窗口,在该窗口中我询问用户是否确定要关闭/打开票证。
这是我迄今为止一直在尝试做的事情:
<script type="text/javascript">
function alert() {
confirm("are you sure you want to close this ticket ?");
}
$(function () {
$("span[id='open']").click(alert)
});
</script>
打开选项也是如此。这不起作用。有人可以帮我吗?
编辑:
<script type="text/javascript">
$(document).ready(function () {
$("td[id='status']").click(function () {
return confirm('Are you sure you want to open the ticket ? ');
});
});
</script>
<script type="text/javascript">
$(document).ready(function () {
document.getElementById("closed").click(function () {
return confirm('Are you sure you want to open the ticket ? ');
});
});
</script>
第二个脚本也不起作用。 此脚本适用于标签。无法让它为 2 个跨度标签工作。
【问题讨论】:
-
使用:return confirm("你确定要关闭这张票吗?");
-
从您的操作方法返回 javascriptresult 实例 ..
-
确认对话框不显示。我认为这是因为 $(function () { $("span[id='open']").click(alert) });没有得到正确的跨度?
-
@user2287957 使用 JS 控制台检查它是否匹配任何元素。另外,为什么要在
<span>上处理事件?<a>完全有可能在点击事件冒泡进入跨度之前“消耗”点击事件。
标签: jquery asp.net-mvc