2013-04-18 50 views
1

我正在使用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个span标签。

+0

使用:return confirm(“您确定要关闭此票吗?”); –

+0

从您的操作方法返回javascriptresult实例.. –

+0

确认对话框不显示。我认为这是因为$(function(){“span [id ='open']”)。click(alert) }); 没有得到正确的跨度? –

回答

0

我发现我的问题的解决方案,它的工作原理。

@Html.ActionLink("Close Ticket", "Close", new { id = item.TicketId }, new { onclick=" return confirm ('Are you sure you want to close ticket ?')"}) 

这将显示一个确认消息,然后再采取行动。

3

使用确认

var answer = confirm("Are you sure?"); 
if (answer) { 
    //Confirm true code 
}else{ 
    //confirm false code 
} 
+0

在​​里面使用这个? –

+0

不,阅读关于javascript的beginers教程,然后阅读有关jQuery – DavidB

2
<script type="text/javascript"> 
function alert() { 
    confirm('are you sure you want to close this ticket ?'); 
} 
$(function() { 
    $('#open').click(function() { 
     alert(); 
    }); 
}); 
</script> 

试试这一个。

+0

不起作用。它认为这是因为$(“span [id ='open']”)没有得到范围 –

1

请试着用下面的代码

<script type="text/javascript"> 
     function closeTicketConfirm() { 
      if (confirm("are you sure you want to close this ticket ?")) { 
       //Do your code for close ticket 
      } 
     } 

     function openTicketConfirm() { 
      if (confirm("are you sure you want to open this ticket ?")) { 
       //Do your code for open ticket 
      } 
     } 

     $(function() { 
      $("span[id='open']").click(function() {closeTicketConfirm();}); 
      $("span[id='closed']").click(function() {openTicketConfirm();}); 
     }); 
</script> 
+0

没有结果显示 –

+0

让我们再试试这个上面的代码 –

+0

没有结果再次。是因为我展示搜索其他东西而不是跨度? –