您确定要删除吗?

9
我刚刚编写了一个确认删除函数,需要一个类名:
jQuery(document).ready(function($) {
    $('.ConfirmDelete').click(function() {
        var question = $(this).attr('title');
        if (question == '') question = 'Delete this record?';
        return confirm(question);
    });
});

使用方法:

<input name="Delete" type="submit" value="Delete" class="ConfirmDelete" title="Delete #UsrName#?" />

我想将选择器从.ConfirmDelete更改为类似以下内容的选择器:
$('input:submit').attr('name','Delete').val('Delete')

意思是:如果提交按钮的名称为“删除”,并且其值为“删除”,则可以假定他们想要确认删除,而不需要让他们具有“ConfirmDelete”类。

你可以使用HTML5数据标签,data-delete="true",然后使用jQuery查找它们。 - ShiftyThomas
不,只要是名称为“delete”且值为“delete”的提交按钮,我希望在提交表单之前确认“您确定吗”。 - Phillip Senn
4个回答

14
$(':submit[name="Delete"][value="Delete"]').click(function() {
    return window.confirm(this.title || 'Delete this record?');
});

这个回答是在2010年写的。现在我会使用$('form').on('click','input:submit[name=Delete][value="Delete"]',function() {})。 - Phillip Senn
2
在你们公司是这样吗?好的,但这并不一定适用于每个人...所以在我看来,这并没有提供太多帮助。 - David Hellsing

6
以下内容适用于所有当前和未来的具有名称和值均为“Delete”的提交按钮:
$(function(){

    $(":submit[name='Delete'][value='Delete']").live("click", function(e){
      e.preventDefault(); // remove if not necessary
      // Seriously, delete it.
    });

});

Jonathan,你提出了一个很好的观点,使用live方法。回到2010年,那是一个很好的观点。问题:on方法是否使用事件委托? - Phillip Senn

1

也许是这样的吧?

$('input:submit[name="Delete"][value="Delete"]')

1

您的问题有点模糊,但如果我理解正确,您实际上想知道在jQuery中选择input type="submit" name="Delete" value="Delete"的语法?

如果是这样,这就是它:

$('input:submit[name="Delete"][value="Delete"]')

有点含糊?天哪,我不知道我还能在问题中加入多少内容而不会继续说下去了! - Phillip Senn
主题标题根本没有涵盖实际的问题/疑问。 - BalusC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接