我有一个网格视图,其中我有一个按钮,用于删除网格视图中的特定行,使用GridView_RowDeleting()事件。
所以当那个特定的行得到渲染时就是这样
<input type="button" value="Delete" onclick="javascript:__doPostBack('ctl00$ContentPlaceHolderBodyMasterPage$grdvwUsers','Delete$0')" class="delete" />
删除功能正常。
但是我想在此按钮上显示确认消息,单击是否删除用户。 为此,我添加了查询代码以显示确认消息,但那不起作用,不知道为什么,
$(".delete").click(function(e) {
// code for displaying the confirmation dialog
});
请帮帮我,谢谢!
答案 0 :(得分:1)
Haven没有测试过,但试试看
$(".delete").click(function() {
return confirm('Are you sure?');
});
......应该有效;)
答案 1 :(得分:1)
问题是回发是在点击处理程序之前执行的。以下是有效的,但它很难看(test code here):
$(function () {
var $button = $(".delete");
var command = $button.attr('onclick'); // Keep the inline command
$button.removeAttr('onclick'); // Clear the inline onclick
$button.click(function() {
if (confirm('Are you sure?')) {
eval(command.replace('javascript:', '')); // Call the stored command
}
});
});
我建议使用Ajax Control Toolkit中的Confirm Button Extender
答案 2 :(得分:0)
在元素中定义一个处理程序:
<input type="button" value="Delete" onclick="javascript:__doPostBack('ctl00$ContentPlaceHolderBodyMasterPage$grdvwUsers','Delete$0')" class="delete" />
你必须把这个动作放在jquery点击功能
中答案 3 :(得分:0)
使用最新版本的jQuery的API,它将是这样的:
$("#myButton").on('click', function () {
// do stuff
});
答案 4 :(得分:0)
我会将我的click事件挂钩到jQueryUI对话框弹出窗口,然后确认触发删除功能。
$("#ConfirmDialog").dialog({
title: "Confirm",
modal: true,
resizable: false,
hide: "fade",
autoOpen: true,
width 100,
height: 100,
buttons:
{
"Yes Delete It":function(){
// Delete function here
$(this).dialog("close");
},
"No, Don't Delete":function() {
$(this).dialog("close");
}
}
});
这样做可以让你对弹出窗口有更多的控制权,让它看起来像是网站的一部分而不是javascript警告框。
答案 5 :(得分:0)
我怀疑__doPostBack函数正在执行并阻止您的代码执行。您可以使用装饰模式并包装现有的__doPostBack,以确保您的代码在回发之前有机会执行。