У меня есть эта разметка:
<div class="form-group conteiner">
<div class="row">
<div class="col-md-2">
<label for="date">Date:</label>
<div class="input-group date datetimepickaa" id="datetimepickerloop1" data-date-format="YYYY/MM/DD">
<input type="text" class="datetimepickaa" data-date-format="YYYY/MM/DD" class="datetimepickaa" />
<span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span></span>
</div>
</div>
<div class="col-md-9">
<label for="notes">Notes:</label>
<textarea class="form-control autosize" id="" name="">Lorem ipsum dolor sit amet.</textarea>
</div>
<div class="col-md-1">
<button type="button" class="removee" >Delete</button>
</div>
</div>
</div>
Я использую этот код JQuery для удаления строки содержимого, когда вы нажимаете кнопку "Удалить":
$("button.removee").click(function(){
$(this).closest(".conteiner").remove();
});
Я хотел бы использовать этот JQuery для запроса подтверждения: http://myclabs.github.io/jquery.confirm/
В документах говорится, что мы должны использовать плагин следующим образом:
$(".confirm").confirm({
text: "Are you sure you want to delete that comment?",
title: "Confirmation required",
confirm: function(button) {
// do something
},
cancel: function(button) {
// do something
},
confirmButton: "Yes I am",
cancelButton: "No",
post: false
});
Я пытаюсь использовать плагин, смешанный с моим кодом, для удаления:
$("button.removee").confirm({
text: "Are you sure you want to delete this row?",
title: "Confirmation required",
confirm: function() {
$(this).closest(".conteiner").remove();
},
cancel: function() {
// do something
},
confirmButton: "Yes I am",
cancelButton: "No",
post: false
});
В этой строке (это) больше не ссылается на $ ("button.removee"):
$(this).closest(".conteiner").remove();
Так и не работает. У вас есть какие-то подсказки о том, как это сделать?
Заранее спасибо!!
Не проверено, но это может сделать трюк. Сохраните экземпляр кнопки для каждой кнопки, прежде чем запускать окно подтверждения.
$(document).on("click", "button.removee", function()
{
var btn = $(this);
$(this).confirm({
text: "Are you sure you want to delete this row?",
title: "Confirmation required",
confirm: function() {
btn.closest(".conteiner").remove();
},
cancel: function() {
// do something
},
confirmButton: "Yes I am",
cancelButton: "No",
post: false
});
});
Изменение: обновленный ответ, чтобы отразить изменения, необходимые для привязки событий к динамически добавленным кнопкам.
Попробуйте использовать этот код
$("button.removee").confirm({
text: "Are you sure you want to delete this row?",
title: "Confirmation required",
confirm: function() {
$("button.removee").closest(".conteiner").remove();
},
cancel: function() {
// do something
},
confirmButton: "Yes I am",
cancelButton: "No",
post: false
});
document.ready()
или что-то еще).