2010-01-01 60 views
9

tôi chỉ viết một xác nhận chức năng đó đòi hỏi phải có một tên lớp xóa:Bạn có chắc chắn muốn xóa không?

jQuery(document).ready(function($) { 
    $('.ConfirmDelete').click(function() { 
     var question = $(this).attr('title'); 
     if (question == '') question = 'Delete this record?'; 
     return confirm(question); 
    }); 
}); 

Cách sử dụng:

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

Tôi muốn thay đổi bộ chọn từ .ConfirmDelete một cái gì đó như:

$('input:submit').attr('name','Delete').val('Delete') 

Ý nghĩa: Nếu nút gửi có tên 'Xóa' và giá trị của nó là 'Xóa', hãy tiếp tục và giả sử họ muốn con công ty xóa mà không yêu cầu họ phải có một lớp ConfirmDelete.

+0

Bạn có thể sử dụng thẻ dữ liệu html5, xóa dữ liệu = "true", sau đó sử dụng jQuery để tìm chúng. – ShiftyThomas

+0

Không. Bất cứ lúc nào nó là một nút gửi với tên của "xóa" với một giá trị "xóa", tôi muốn nó để xác nhận "Bạn có chắc chắn" trước khi gửi biểu mẫu. –

Trả lời

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

Câu trả lời này được viết vào năm 2010. Tôi sẽ sử dụng $ ('form'). ('Click', 'input: submit [name = Delete] [value = "Delete"]', function() {}) ngay bây giờ. –

+2

Như trong Công ty của bạn? Ok, nhưng điều đó không nhất thiết áp dụng cho tất cả mọi người ... vì vậy nó không phải là một bổ sung rất hữu ích cho câu trả lời IMO. – David

1

Điều gì đó giống như vậy?

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

Câu hỏi của bạn hơi mơ hồ, nhưng nếu tôi diễn giải một cách chính xác, bạn thực sự muốn biết cú pháp để chọn input type="submit" name="Delete" value="Delete" trong jQuery?

Nếu vậy, ở đây nó là:

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

Một chút mơ hồ? Lòng tốt của tôi Tôi không biết mình có thể đặt câu hỏi vào bao nhiêu mà không cần phải tiếp tục! –

+0

Tiêu đề chủ đề không bao gồm vấn đề **/câu hỏi ** thực tế. – BalusC

6

Sau đây sẽ áp dụng cho tất cả hiện tại và tương lai trường hợp của bất kỳ nút gửi có cả tên và giá trị của "Delete":

$(function(){ 

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

}); 
+0

Jonathan, bạn đưa ra một điểm tốt bằng cách sử dụng phương pháp trực tiếp. Trở lại năm 2010 đó là một điểm tuyệt vời. Q: Phương thức "on" có sử dụng tính năng ủy quyền sự kiện không? –

Các vấn đề liên quan