Bir kullanıcı dizin sayfasındaki sil düğmesini tıkladığında. Modal açılır ve ilk işlevle URL yolu, moddaki silme düğmesinin taskdestroylink
özniteliğine geçirilir. Şimdiye kadar her şey iyi çalışıyor. Bağlantıyı her tıkladığımda, özellik düzgün bir şekilde ayarlanıyor.Değişken düzgün ayarlanmadı
İkinci işlev, AJAX isteğini sunucuya gönderiyor. Sayfada, ilk istek iyi çalışır, ancak ikincisi, ilk olanın yolunu tutar. Yani var href
ilk kez düzgün ayarlandı, ancak başka bir görevi silmeye çalışırsam, href
değeri hala birinciye aittir. taskdestroylink
özniteliğinin DOM'deki yeni değeri gösterdiğinden beri garip.
var href = $(this).data("taskdestroylink");
ile ilgili sorun nedir? Neden yeni değeri ayarlamıyor?
<li>
<a href="#" data-toggle="modal" role="button" data-target="#delete-task-modal" class="open-delete-task-modal" data-taskdeletelink="<%= user_task_path(current_user, task) %>">Delete Task</a>
</li>
Modal:
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal" id="deletetaskclose">Close</button>
<a href="#" id="delete-task-link" type="button" class="btn btn-danger" data-taskdestroylink >Delete Task</a>
</div>
JS:
$(document).on('click', '.open-delete-task-modal', function (event) {
var taskDeleteLink = $(this).data("taskdeletelink");
$('#delete-task-link').attr("data-taskdestroylink", taskDeleteLink);
});
$(document).on('click', '#delete-task-link', function (event) {
var href = $(this).data("taskdestroylink");
alert(href);
$.ajax({
type: "DELETE",
url: href,
dataType: "script"
});
});
neden veri() ve attr() karıştırıyorsunuz? – epascarello
tam olarak ne demek istiyorsun? –
Okuma için data() kullanıyorsunuz ve attr() yazıyor – epascarello